题解
2024-06-25 21:03:10
发布于:广东
2阅读
0回复
0点赞
本人菜,代码太丑请见谅
#include<bits/stdc++.h>
using namespace std;
char n[110][110];
int p[110][110];//记录雷区周围的数字
int main(){
int a,b;
cin>>a>>b;
for(int i=1;i<=a;i++){
for(int j=1;j<=b;j++){
cin>>n[i][j];
}
}
for(int i=1;i<=a;i++){
for(int j=1;j<=b;j++){
if(n[i][j]=='*'){
p[i][j+1]++;//各个方向的数加1
p[i+1][j+1]++;
p[i-1][j-1]++;
p[i+1][j]++;
p[i-1][j+1]++;
p[i+1][j-1]++;
p[i-1][j]++;
p[i][j-1]++;
}
}
}
for(int i=1;i<=a;i++){
for(int j=1;j<=b;j++){
if(n[i][j]=='?') cout<<p[i][j];//当格子不是雷时将格子上的数输出
else cout<<"*";//否则输出雷
}
cout<<endl;
}
return 0;
}
这里空空如也
有帮助,赞一个