22 条题解
-
0
#include <iostream> #include <vector> using namespace std; const int dx[] = {-1, -1, -1, 0, 0, 1, 1, 1}; const int dy[] = {-1, 0, 1, -1, 1, -1, 0, 1}; int main() { int n, m; cin >> n >> m; vector<string> grid(n); for (int i = 0; i < n; i++) { cin >> grid[i]; } vector<vector<char>> result(n, vector<char>(m));for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { if (grid[i][j] == '*') { result[i][j] = '*'; } else { int count = 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 (grid[ni][nj]=='*') { count++; } } } result[i][j]='0'+count; } } } for (int i=0;i<n;i++) { for (int j=0;j<m;j++) { cout<<result[i][j]; } cout<<'\n'; } return 0; }
信息
- ID
- 104
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 6
- 标签
- 递交数
- 173
- 已通过
- 57
- 上传者