来自New Bing的题解
2023-04-01 20:00:52
发布于:澳大利亚
67阅读
0回复
0点赞
#include <iostream>
using namespace std;
const int N = 110;
int n, m;
char g[N][N];
int dx[8] = {-1, -1, -1, 0, 0, 1, 1, 1}; // 方向数组
int dy[8] = {-1, 0, 1, -1, 1, -1, 0, 1};
int main()
{
cin >> n >> m;
for (int i = 0; i < n; i ++ ) cin >> g[i];
for (int i = 0; i < n; i ++ )
for (int j = 0; j < m; j ++ )
if (g[i][j] == '?')
{
int cnt = 0;
for (int k = 0; k < 8; k ++ ) // 遍历八个方向
{
int x = i + dx[k], y = j + dy[k];
if (x >= 0 && x < n && y >= 0 && y < m && g[x][y] == '*') cnt ++ ;
}
g[i][j] = cnt + '0';
}
for (int i = 0; i < n; i ++ ) puts(g[i]);
return 0;
}
这里空空如也
有帮助,赞一个