栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

poj 2920 Mine Map

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

poj 2920 Mine Map

#include<cstdio>#include<cstring>#include<queue>using namespace std;const int maxn=300+5;struct Node{    int r,c;    Node(int r,int c):r(r),c(c){}};int dr[]={-1,1,0,0,-1,1,-1,1};int dc[]={0,0,-1,1,-1,-1,1,1};char map[maxn][maxn];int n,m;bool mine(int r,int c)        {    for(int d=0;d<8;d++)    {        int nr=r+dr[d], nc=c+dc[d];        if(nr>=1&&nr<=n&&nc>=1&&nc<=n&&map[nr][nc]=='*') return true;     }    return false;}void BFS(int mr,int mc){    queue<Node> Q;  if(mine(mr,mc)) map[mr][mc]='#';    else map[mr][mc]='.';    if(map[mr][mc]=='.') Q.push(Node(mr,mc));    while(!Q.empty())    {        Node node=Q.front();Q.pop();        int r=node.r,c=node.c;        for(int d=0;d<8;d++)        { int nr=r+dr[d]; int nc=c+dc[d]; if(nr>=1&&nr<=n&&nc>=1&&nc<=n&&map[nr][nc]=='?') {     if(mine(nr,nc)) map[nr][nc]='#';   else map[nr][nc]='.';     if(map[nr][nc]=='.') Q.push(Node(nr,nc)); }        }    }}int main(){    int T;    scanf("%d",&T);    for(int kase=1;kase<=T;kase++)    {        scanf("%d%d",&n,&m);        for(int i=1;i<=n;i++) for(int j=1;j<=n;j++)     map[i][j]='?';        while(m--)        { int r,c; scanf("%d%d",&r,&c); map[r][c]='*';        }        BFS((n+1)/2,(n+1)/2);       printf("Scenario #%d:n",kase);        for(int i=1;i<=n;i++)        { for(int j=1;j<=n;j++)     printf("%c",map[i][j]); printf("n");        }        puts("");    }    return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/371866.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号