uva 10189 Minesweeper

水题。

#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <iostream>
using namespace std;
int num[110][110];
int row,col;
char str;
int t=0;
int main()
{
    while(scanf("%d%d",&row,&col)!=EOF)
    {
        if(row==0&&col==0)
            break;
        memset(num,0,sizeof(num));
        for(int i=1;i<=row;i++)
        {
            getchar();
            for(int j=1;j<=col;j++)
            {
                scanf("%c",&str);
                if(str=='*')
                {
                    num[i][j]=-9;
                    num[i-1][j]++;
                    num[i-1][j-1]++;
                    num[i-1][j+1]++;
                    num[i][j-1]++;
                    num[i][j+1]++;
                    num[i+1][j-1]++;
                    num[i+1][j]++;
                    num[i+1][j+1]++;
                }
            }
        }
        if(t)
            printf("\n");
        printf("Field #%d:\n",++t);
        for(int i=1;i<=row;i++)
        {
            for(int j=1;j<=col;j++)
            {
                if(num[i][j]>=0)
                    printf("%d",num[i][j]);
                else
                    printf("*");
            }
            printf("\n");
        }
    }
    return 0;
}
View Code
原文地址:https://www.cnblogs.com/overflow/p/3134531.html