这道题是一个简单的模拟搜索题,可以把每个雷的位置都记作1。
这样就可记录出数字啦
#include<iostream>
#include<cstring>
using namespace std;
int n,m;
char a;
bool b[10000][11000];
int i ,j;
int main()
{
cin>>n>>m;
memset(b,0,sizeof(b));
for( i=1; i<=n; i++)
for( j=1; j<=m; j++)
{
cin>>a;
if(a=='*')
b[i][j]=1;
}
for( i=1; i<=n; i++)
for( j=1; j<=m; j++)
{
if(b[i][j]==1)
{
cout<<"*";
}
else
{
cout<<b[i-1][j-1]+b[i][j-1]+b[i-1][j]+b[i+1][j+1]+b[i][j+1]+b[i+1][j]+b[i+1][j-1]+b[i-1][j+1];
}
if(j==m)
cout<<endl;
}
}