#include<stdio.h>
#include <memory.h>
int Result[100][100];
char Str[100][100];
int Move[8][2] = {
{-1,-1},{-1,0},{-1,1},
{0,-1},{0,1},
{1,-1},{1,0},{1,1},
};
int main()
{
int cases=0;
int n,m;
int row,line;
int i,j,k;
while(scanf("%d %d",&n,&m))
{
if(n==0&&m==0) break;
memset(Result, 0, sizeof(Result));
for(i=0;i<n;i++)
{
scanf("%s",Str[i]);
}
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
if(Str[i][j]=='*'){
Result[i][j] = -999;
for(k=0;k<8;k++)
{
row = i+Move[k][0];
line = j+Move[k][1];
if(row>=0 && line>=0 && row<n && line<m){
Result[row][line]++;
}
}
}
}
}
if(cases!=0) printf("\n");
cases++;
printf("Field #%d:\n",cases);
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
printf("%c",(Result[i][j]>=0)?('0'+Result[i][j]):'*');
}
printf("\n");
}
}
return 0;
}
UVa 10189 Minesweeper
最新推荐文章于 2020-03-13 17:48:37 发布