提交时间:2024-01-16 17:27:27

运行 ID: 36727

#include<bits/stdc++.h> using namespace std; char a[110][110]; int n, m; //方向数组 int dx[] = {-1, 1, 0, 0, -1, -1, 1, 1}; int dy[] = { 0, 0, -1, 1, -1, 1, -1, 1}; int main() { cin >> n >> m; for (int i = 1; i <= n; i++) { for (int j = 1; j <= m; j++) { cin >>a[i][j]; } } for (int i = 1; i <= n; i++) { for (int j = 1; j <= m; j++) { if(a[i][j] == '*') { cout << '*'; }else{ int cnt = 0; for (int k = 0; k < 8; k++) { int ni = i + dx[k]; int nj = j + dy[k]; if(1 <= ni && ni <= n && 1 <= nj && nj <= m && a[ni][nj] == '*') { cnt++; } } cout << cnt; } } cout << endl; } return 0; }