30分求解
查看原帖
30分求解
1375968
chen8866楼主2025/1/22 18:00
#include<bits/stdc++.h>
using namespace std;
int n,m,h;
char a[105][105];
int b[105][105];
int x[8]={-1,-1,-1,0,0,1,1,1};
int y[8]={-1,0,1,-1,-1,0,0,1};
int main(){
	cin>>n>>m;
	for(int i=0;i<m;i++){
		for(int j=0;j<n;j++){
			cin>>a[i][j];
		}
	}
	for(int i=0;i<m;i++){
		for(int j=0;j<n;j++){
			for(int k=0;k<8;k++){
			//	cout<<"--";
				if(a[i+x[k]][j+y[k]]>=0&&a[i+x[k]][j+y[k]]<n&&a[i+x[k]][j+y[k]]<m){
//					cout<<"1";
//					cout<<a[i][j]<<endl;
					if(a[i+x[k]][j+y[k]]=='*'){
						b[i][j]++;	
					}
				}
				else{
					continue;	
			//		cout<<"0";
				}
			}		
		}
	}
	for(int i=0;i<m;i++){
		for(int j=0;j<n;j++){
			if(a[i][j]=='?')cout<<b[i][j];
			else cout<<"*";
		}
		cout<<endl;
	}
}

2025/1/22 18:00
加载中...