扫雷
扫雷
https://ac.nowcoder.com/acm/problem/22232
#include<bits/stdc++.h> using namespace std; int fx[8][2]={{-1,-1},{-1,0},{-1,1},{0,1},{0,-1},{1,-1},{1,0},{1,1}}; char ch[105][105];
int dfs(char ch[105][105],int x,int y) { int num=0; for(int i=0;i<8;i++) { int dx=x+fx[i][0]; int dy=y+fx[i][1]; if(ch[dx][dy]=='*') num++; } return num; }
int main() { int n,m; cin>>n>>m; for(int i=0;i<n;i++) { for(int j=0;j<m;j++) cin>>ch[i][j]; } for(int i=0;i<n;i++) { for(int j=0;j<m;j++) { if(ch[i][j]=='') { cout<<''; continue; } else { int num; num=dfs(ch,i,j); cout<<num; } } cout<<endl; } return 0; }