3 条题解
-
7
#include<bits/stdc++.h> using namespace std; int n,m,nx,ny,sum; int dx[8]={-1,-1,0,1,1,1,0,-1}; int dy[8]={0,1,1,1,0,-1,-1,-1}; char a[105][105],c[105][105]; int main(){ cin>>n>>m; for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ cin>>a[i][j]; } } for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ if(a[i][j]=='*') cout<<"*"; else{ sum=0; for(int k=0;k<8;k++){ nx=i+dx[k]; ny=j+dy[k]; if(nx>=0&&nx<n&&ny>=0&&ny<m&&a[nx][ny]=='*'){ sum++; } } cout<<sum; } } cout<<endl; } return 0; } -
4
#include <iostream> using namespace std; int main() { int a,b; cin>>a>>b; char c[a+2][b+2];//多2行防止溢出 double d[a+2][b+2];//同理 for(int i=0;i<a+2;i++){ for(int j=0;j<b+2;j++){ d[i][j]=0; }} for(int i=1;i<a+1;i++){ for(int j=1;j<b+1;j++){ cin>>c[i][j]; if(c[i][j]=='*'){ //检验地雷 d[i+1][j-1]++;d[i+1][j]++;d[i+1][j+1]++; d[i][j]++;d[i][j]=9;d[i][j-1]--; d[i-1][j+1]++;d[i-1][j]++;d[i-1][j]++; //在四周加1 } } } for(int i=1;i<a+1;i++){ for(int j=1;j<b+1;j++){ if(d[i][j]>=9&&j==b) cout<<'*'<<endl; else if(d[i][j]>=9) cout<<'*'; else if(j==b)cout<<d[i][j]<<endl; else cout<<d[i][j]; } } } -
0
#include<bits/stdc++.h> using namespace std; int main() { int a,b,d,e; char g; cin>>a>>b; int c[a+2][b+2]; for(d=0;d<a+2;d++) { for(e=0;e<b+2;e++) { c[d][e]=0; } } for(d=1;d<a+1;d++) { for(e=1;e<b+1;e++) { cin>>g; if(g=='*') { c[d][e]=1; } } } for(d=1;d<a+1;d++) { for(e=1;e<b+1;e++) { if(c[d][e]==1) { cout<<'*'; } else { cout<<c[d-1][e-1]+c[d-1][e]+c[d-1][e+1]+c[d][e-1]+c[d][e]+c[d][e+1]+c[d+1][e-1]+c[d+1][e]+c[d+1][e+1]; } } cout<<endl; } return 0; }
- 1
信息
- ID
- 292
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 6
- 标签
- 递交数
- 43
- 已通过
- 13
- 上传者