题目信息
题目传送门
解题思路
- 对于每个雷,直接输出即可。
- 对于每个问号,看看周围8个点有多少个雷即可。
代码实现
#include<bits/stdc++.h>
using namespace std;
bool a[105][105];
int main() {
int n, m;
cin >> n >> m;
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= m; ++j) {
char ch;
cin >> ch;
a[i][j] = (ch == '*');
}
}
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= m; ++j) {
if (a[i][j] == true) {
cout << '*';
} else {
cout << a[i + 1][j + 1] +
a[i + 1][j - 1] +
a[i + 1][j] +
a[i][j + 1] +
a[i][j - 1] +
a[i - 1][j + 1] +
a[i - 1][j] +
a[i - 1][j - 1];
}
}
cout << '\n';
}
return 0;
}