这道题是一个简单的模拟搜索题,可以把每个雷的位置都记作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; } }