#include #include
#define N 100
intMine_Count[N][N];charMine[N][N];intmain(){intn,m,i,j,count;
count= 0;while(scanf("%d%d",&n,&m) && !(n == 0 && m == 0)){
count++;
memset(Mine_Count,0,sizeof(Mine_Count)); //每轮都要初始化
for(i=0;i
getchar();for(j=0;j
scanf("%c",&Mine[i][j]);if(Mine[i][j] == '*'){if(i == 0){if(j == 0){
Mine_Count[i][j+1] += 1;
Mine_Count[i+1][j] += 1;
Mine_Count[i+1][j+1] += 1;
}else if(j == m-1){
Mine_Count[i][j-1] += 1;
Mine_Count[i+1][j] += 1;
Mine_Count[i+1][j-1] += 1;
}else{
Mine_Count[i][j-1] += 1;
Mine_Count[i+1][j] += 1;
Mine_Count[i][j+1] += 1;
Mine_Count[i+1][j-1] += 1;
Mine_Count[i+1][j+1] += 1;
}
}else if(i == n-1){if(j == 0){
Mine_Count[i-1][j] += 1;
Mine_Count[i][j+1] += 1;
Mine_Count[i-1][j+1] += 1;
}else if(j == m-1){
Mine_Count[i][j-1] += 1;
Mine_Count[i-1][j] += 1;
Mine_Count[i-1][j-1] += 1;
}else{
Mine_Count[i-1][j] += 1;
Mine_Count[i][j-1] += 1;
Mine_Count[i][j+1] += 1;
Mine_Count[i-1][j-1] += 1;
Mine_Count[i-1][j+1] += 1;
}
}else{if(j == 0){
Mine_Count[i-1][j] += 1;
Mine_Count[i+1][j] += 1;
Mine_Count[i][j+1] += 1;
Mine_Count[i-1][j+1] += 1;
Mine_Count[i+1][j+1] += 1;
}else if(j == m-1){
Mine_Count[i-1][j] += 1;
Mine_Count[i+1][j] += 1;
Mine_Count[i][j-1] += 1;
Mine_Count[i-1][j-1] += 1;
Mine_Count[i+1][j-1] += 1;
}else{
Mine_Count[i-1][j] += 1;
Mine_Count[i+1][j] += 1;
Mine_Count[i][j-1] += 1;
Mine_Count[i][j+1] += 1;
Mine_Count[i-1][j-1] += 1;
Mine_Count[i-1][j+1] += 1;
Mine_Count[i+1][j-1] += 1;
Mine_Count[i+1][j+1] += 1;
}
}
}
}
}
printf("Field #%d:\n",count);for(i=0;i
printf("*");else{
printf("%d",Mine_Count[i][j]);
}
}
puts("");
}
puts("");
}return 0;
}