为何80分?
#include<iostream>
using namespace std;
const int N = 10010;
int n,m;
char a[N][N];
int bomb(int x,int y){
int cnt = 0;
int ex[8] = {-1,0,1,-1,1,-1,0,1},ey[8] = {-1,-1,-1,0,0,1,1,1};
for(int i = 0;i < 8;i++){
int dx = x + ex[i],dy = y + ey[i];
if(dx >= 0 && dx < m && dy >= 0 && dy < n && a[dx][dy] == '*'){
cnt++;
}
}
return cnt;
}
int main(){
cin >> n >> m;
for(int i = 0;i < n;i++){
for(int j = 0;j < m;j++){
cin >> a[i][j];
}
}
for(int i = 0;i < n;i++){
for(int j = 0;j < m;j++){
if(a[i][j] == '*') cout << '*';
else cout << bomb(i,j);
}
cout << endl;
}
return 0;
}