标准题解
2024-01-27 15:35:24
发布于:浙江
3阅读
0回复
0点赞
#include<bits/stdc++.h>//导入(万能)头文件。
using namespace std;//命名空间。
int main(){//主函数。
int x,y,num,n,m,b[8][2] = {{-1,-1},{-1,0},{-1,1},{0,-1},{0,1},{1,-1},{1,0},{1,1}};//定义各个变量或数组。
cin>>n>>m;//输入n行,m列。
char a[n][m];//定义数组。
for(int i = 0;i < n;i++){
for(int j = 0;j < m;j++){//遍历数组(2维)a。
cin>>a[i][j];//输入。
}
}
for(int i = 0;i < n;i++){
for(int j = 0;j < m;j++){//遍历数组(2维)a。
if(a[i][j] == '*'){//条件判断。
cout<<"*";//执行判断成立后的代码(语句块)。
}else{//否则。
num = 0;//将变量num设为0,用于计数(计一点周围的雷的数量)。
for(int p = 0;p < 8;p++){//遍历数组(2维)b。
x = b[p][0] + i;//锁定上、下、左、右、左上、右上、左下、右下八个方向其中一个位置的x坐标。
y = b[p][1] + j;//锁定上、下、左、右、左上、右上、左下、右下八个方向其中一个位置的y坐标。
if(a[x][y] == '*' && x >= 0 && x <= n - 1 && y >= 0 && y <= m - 1){//条件判断。
++num;//num的数量加1。
}
}
cout<<num;//输出num。
}
}
cout<<endl;//输出换行(\n)。
}
exit(0);//结束程序。
}
这里空空如也
有帮助,赞一个