提交时间:2026-01-04 15:37:13

运行 ID: 80999

#include <iostream> #include <vector> using namespace std; int main() { int n, m; cin >> n >> m; vector<vector<char>> grid(n, vector<char>(m)); vector<vector<int>> mine_count(n, vector<int>(m, 0)); for (int i = 0; i < n; ++i) { for (int j = 0; j < m; ++j) { cin >> grid[i][j]; if (grid[i][j] == '*') { mine_count[i][j] = -1; } } } for (int i = 0; i < n; ++i) { for (int j = 0; j < m; ++j) { if (mine_count[i][j] == -1) continue; for (int di = -1; di <= 1; ++di) { for (int dj = -1; dj <= 1; ++dj) { int ni = i + di, nj = j + dj; if (ni >= 0 && ni < n && nj >= 0 && nj < m && grid[ni][nj] == '*') { mine_count[i][j]++; } } } } } for (int i = 0; i < n; ++i) { for (int j = 0; j < m; ++j) { if (mine_count[i][j] == -1) { cout << '*'; } else { cout << mine_count[i][j]; } } cout << endl; } return 0; }