题解
2025-08-03 15:58:17
发布于:广东
0阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
int n, m;
int dx[8] = {1, 1, 1, -1, -1, -1, 0, 0};
int dy[8] = {1, -1, 0, 1, -1, 0, 1, -1};
char mp[105][105];
char ans[105][105];
int main(){
cin >> n >> m;
for (int i = 1; i <= n; i++){
for (int j = 1; j <= m; j++){
cin >> mp[i][j];
}
}
for (int i = 1; i <= n; i++){
for (int j = 1; j <= m; j++){
if (mp[i][j] == '*'){
ans[i][j] = '*';
continue;
}
int s = 0;
for (int k = 0; k < 8; k++){
int nx = dx[k] + i;
int ny = dy[k] + j;
if (nx >= 1 && nx <= n && ny >= 1 && ny <= m){
if (mp[nx][ny] == '*'){
s++;
}
}
}
char f = s + '0';
ans[i][j] = f;
}
}
for (int i = 1; i <= n; i++){
for (int j = 1; j <= m; j++){
cout << ans[i][j];
}
cout << endl;
}
return 0;
}```
这里空空如也
有帮助,赞一个