AcWing 462. 扫雷游戏
原题链接
简单
#include <iostream>
using namespace std;
const int N=110;
char a[N][N];
int d[8][2]={{1,0},{0,1},{-1,0},{0,-1},{1,1},{-1,-1},{-1,1},{1,-1}};
int main()
{
int n,m;
cin>>n>>m;
for(int i=1;i<=n;++i)
for(int j=1;j<=m;j++)
cin>>a[i][j];
//int res=0;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
int res=0;
if(a[i][j]!='?')
continue;
for(int k=0;k<8;k++){
int x=i+d[k][0],y=j+d[k][1];
if(a[x][y]=='*')
res++;
}
a[i][j]=res+'0';
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cout<<a[i][j];
}
cout<<endl;
}
return 0;
}