题解一份
2026-09-07 19:41:10
发布于:江西
2阅读
0回复
0点赞
仅供参考借鉴思路
#include<bits/stdc++.h>
using namespace std;
int lisx[10]={1,1,1,0,0,-1,-1,-1};
int lisy[10]={1,0,-1,1,-1,1,0,-1};
char a[105][105];
int round( char a[][105], int posx, int posy){
int cnt=0;
for ( int i=0; i<8; i++){
cnt += (a[posx+lisx[i]][posy+lisy[i]]=='*');
}
return cnt;
}
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++){
if ( a[i][j] == '?')cout << round(a,i,j);
else cout << '*';
}
cout << endl;
}
}
这里空空如也


有帮助,赞一个