1 solutions
-
1
#include<bits/stdc++.h> using namespace std; int dx[]={-1,-1,-1,0,0,1,1,1}; int dy[]={-1,0,1,-1,1,-1,0,1}; //相邻的方向 const int N=110; char g[N][N]; int main() { int n,m; cin>>n>>m; for(int i=1;i<=n;i++) //获取地图 { for(int j=1;j<=m;j++) { cin>>g[i][j]; } } for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { int cnt=0; //地雷个数 if(g[i][j]=='*') cout<<"*"; //地雷 else //枚举周围的点,计算地雷个数 { for(int k=0;k<8;k++) { int a=i+dx[k],b=j+dy[k]; if(g[a][b]=='*') cnt++; } cout<<cnt; } } cout<<endl; } return 0; }
Information
- ID
- 554
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- 3
- Tags
- (None)
- # Submissions
- 22
- Accepted
- 5
- Uploaded By