一种思路简单的题解
2025-07-26 16:59:44
发布于:上海
0阅读
0回复
0点赞
#include <iostream>
using namespace std;
int main(){
int n,m;
cin >> n>>m;
char map1[n+2][m+2];
for (int i=1;i<=n;i++){
for (int j=1;j<=m;j++){
cin >> map1[i][j];
}
}
for (int i=0;i<=n+1;i++){
map1[i][0] = 'X';
map1[i][m+1] = 'X';
}
for (int j=0;j<=m+1;j++){
map1[0][j] = 'X';
map1[n+1][j] = 'X';
}
int dilei = 0;
for (int i=1;i<=n;i++){
for (int j=1;j<=m;j++){
if (map1[i][j]=='?'){
if (map1[i-1][j-1]=='*')dilei++;
if (map1[i-1][j]=='*')dilei++;
if (map1[i-1][j+1]=='*')dilei++;
if (map1[i][j-1]=='*')dilei++;
if (map1[i][j+1]=='*')dilei++;
if (map1[i+1][j-1]=='*')dilei++;
if (map1[i+1][j]=='*')dilei++;
if (map1[i+1][j+1]=='*')dilei++;
map1[i][j] = (char)(dilei+'0');
dilei = 0;
}
}
}
for (int i=1;i<=n;i++){
for (int j=1;j<=m;j++)cout << map1[i][j];
cout << endl;
}
return 0;
}
这里空空如也
有帮助,赞一个