P2670 [NOIP2015 普及组] 扫雷游戏

直接模拟即可。

const int N=110;
char g[N][N];
int n,m;

bool check(int x,int y)
{
    return x>=0 && x<n && y>=0 && y<m;
}

int count(int x,int y)
{
    int res=0;
    for(int i=-1;i<=1;i++)
        for(int j=-1;j<=1;j++)
        {
            int a=x+i,b=y+j;
            if(check(a,b) && g[a][b] == '*')
                res++;
        }
    return res;
}

int main()
{
    cin>>n>>m;

    for(int i=0;i<n;i++) scanf("%s",g[i]);

    for(int i=0;i<n;i++)
        for(int j=0;j<m;j++)
        {
            if(g[i][j] == '*') continue;
            int cnt=count(i,j);
            g[i][j]='0'+cnt;
        }

    for(int i=0;i<n;i++)
        puts(g[i]);
    //system("pause");
    return 0;
}
posted @ 2021-04-03 21:33  Dazzling!  阅读(81)  评论(0编辑  收藏  举报