题解
2026-05-16 17:02:57
发布于:上海
10阅读
0回复
0点赞
遍历每个节点的周围八个位置,记录'*'的个数,挺简单
#include<iostream>
using namespace std;
int dirx[]={1,1,1,-1,-1,-1,0,0},diry[]={0,1,-1,1,-1,0,1,-1};
int main(){
int n,m;
char g[110][110]={};
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++){
if(g[i][j]=='*'){
cout<<'*';
continue;
}
int sum=0;
for(int p=0;p<8;p++){
if(g[i+dirx[p]][j+diry[p]]=='*')sum++;
}
cout<<sum;
}
cout<<"\n";
}
return 0;
}
这里空空如也




有帮助,赞一个