**60**分求调
查看原帖
**60**分求调
1800144
hbc1楼主2025/7/18 19:44
#include<bits/stdc++.h>
using namespace std;
char d[101][101]{0};
int main() {
	int n, m;
	cin >> n >> m;
	for (int i = 0; i < n; i++) cin >> d[i];
	int dx[8] = {-1, -1, -1, 0, 0, 1, 1, 1};
	int dy[8] = {-1, 0, 1, -1, 1, -1, 0, 1};
	for (int i = 0; i < n; i++)
		for (int j = 0; j < m; j++)
			if (d[i][j] == '?') {
				int c = 0;
				for (int k = 0; k < 8; k++) {
					int ni = i + dx[k];
					int nj = j + dy[k];
					if (ni >= 0 && ni < n && nj >= 0 && nj < m)
						if (d[ni][nj] == '*') c++;
				}
			d[i][j] = c + '0';
			}
	for (int i = 0; i < n; i++) cout << d[i] << endl;
	return 0;
} 
2025/7/18 19:44
加载中...