求助
查看原帖
求助
539712
123uuu楼主2023/11/30 16:27
#include<bits/stdc++.h>
using namespace std;
int p = 0, m, n, b[100][100];
char mp[100][100];
int ax[10] = {-1, 0, 1, 0, -1, 1, 1, -1};
int ay[10] = {0, 1, 0, -1, -1, -1, 1, 1}; 
void dfs(int nx, int ny){
	int i;
	for (i = 0;i < 8; ++ i){
		int tx, ty;
		tx = nx + ax[i]; 
		ty = ny + ay[i]; 
		if(tx >= 1 && tx <= n && ty >= 1 && ty<=m)
		b[tx][ty]++;
	}
}
int main(){
	int i, j;
	cin >> n >> m;
	for(i = 1;i <= n; ++ i){
		for(j = 1;i <= m; ++ j){
			cin >> mp[i][j];
			if (mp[i][j] == '*'){
				dfs(i, j);
			}
		}
	} 
	for(i = 1;i <= n; ++ i) {
		for(j = 1;i <= m; ++ j){
				if(mp[i][j] == '*') {
			cout << mp[i][j];
		}
			else cout << b[i][j];
			cout << endl;
		}
	} 
	for(i = 1;i <= n; ++ i) {
		for(j = 1;j <= m; ++ j){
			cout << mp[i][j];
				}
			}
	
return 0;
}
/*
3 3
* ? ?
? ? ?
? * ?
*/
2023/11/30 16:27
加载中...