#include<stdio.h>
#include<string.h>
int main(){
int n,m;
char A[101][101];
char B[101][101];
scanf("%d%d",&n,&m);
getchar();
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
scanf("%c",&A[i][j]);
}
getchar();
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(A[i][j]=='*')B[i][j]=A[i][j];
else{
B[i][j]='0';
if(A[i-1][j]=='*')B[i][j]++;
if(A[i-1][j-1]=='*')B[i][j]++;
if(A[i-1][j+1]=='*')B[i][j]++;
if(A[i+1][j]=='*')B[i][j]++;
if(A[i+1][j-1]=='*')B[i][j]++;
if(A[i+1][j+1]=='*')B[i][j]++;
if(A[i][j+1]=='*')B[i][j]++;
if(A[i][j-1]=='*')B[i][j]++;
}
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
printf("%c",B[i][j]);
}
printf("\n");
}
return 0;
}
這道題我用的是全圖搜索,是地雷就直接寫,不是雷就掃描周圍8個相鄰位置是否是雷(通過這道題也可以引出圖的算法)