| Run ID | 作者 | 问题 | 语言 | 测评结果 | 时间 | 内存 | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|
| 80999 | sh25_zhangyy | 扫雷游戏地雷数计算 | C++ | 通过 | 0 MS | 244 KB | 1209 | 2026-01-04 15:37:13 |
#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; }