4 条题解
-
1
`
#include<bits/stdc++.h> using namespace std; char a[110][110]; int main(){ int n,m; 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++){ int l=0; if(a[i][j]=='*'){ continue; } if(a[i-1][j+1]=='*'){ l++; } if(a[i][j+1]=='*'){ l++; } if(a[i+1][j+1]=='*'){ l++; } if(a[i+1][j]=='*'){ l++; } if(a[i+1][j-1]=='*'){ l++; } if(a[i][j-1]=='*'){ l++; } if(a[i-1][j-1]=='*'){ l++; } if(a[i-1][j]=='*'){ l++; } a[i][j]=char(l+'0'); } } for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ cout<<a[i][j]; } cout<<endl; } return 0; }
-
0
#include<bits/stdc++.h> using namespace std; bool a[105][105];//一张地图,有雷为一,无雷为零 int main() { memset(a,0,sizeof(a));//地图最开始清空 int n,m; char tmp; cin>>n>>m; for(int i=1;i<=n;i++)//读入地图 { for(int j=1;j<=m;j++) { cin>>tmp;//读入每一个点 if(tmp=='') a[i][j]=1;//如果是地雷就将这个点设为一 } } for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { if(a[i][j]==1) printf(""); //如果是地雷不用输出数字 else { printf("%d",a[i+1][j+1]+a[i+1][j-1]+a[i+1][j]+a[i][j+1]+a[i][j-1]+a[i-1][j+1]+a[i-1][j]+a[i-1][j-1]); //将旁边的雷加起来输出 } } printf("\n"); } return 0;//愉快的结束了主程序 }
-
0
#include<iostream> #include<cstdio> #include<cmath> using namespace std; char a[109][109]; int b[109][109]; int main(){ long long n,m; 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]=='*'){ b[i][j+1]++; b[i][j-1]++; b[i+1][j]++; b[i-1][j]++; b[i+1][j+1]++; b[i-1][j-1]++; b[i+1][j-1]++; b[i-1][j+1]++; } } } for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ if(a[i][j]=='*'){ cout<<"*"; }else{ cout<<b[i][j]; } } cout<<endl; } }
-
0
#include<bits/stdc++.h> using namespace std; char ge[110][110]; int main(){ int m,n; cin>>n>>m; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ cin>>ge[i][j]; } } for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ int k=0; if(ge[i][j]=='?'){ if(ge[i-1][j-1]=='*') k++; if(ge[i-1][j]=='*') k++; if(ge[i-1][j+1]=='*') k++; if(ge[i][j-1]=='*') k++; if(ge[i][j+1]=='*') k++; if(ge[i+1][j-1]=='*') k++; if(ge[i+1][j]=='*') k++; if(ge[i+1][j+1]=='*') k++; ge[i][j]='0'+k; } } } for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ cout<<ge[i][j]; } cout<<endl; } }
- 1
信息
- ID
- 293
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 7
- 标签
- 递交数
- 147
- 已通过
- 33
- 上传者