D
  • 板块灌水区
  • 楼主miaoshuchen
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/11/9 10:35
  • 上次更新2024/11/9 13:29:34
查看原帖
D
672512
miaoshuchen楼主2024/11/9 10:35
#include<bits/stdc++.h>
using namespace std;
char a[101][101];//地图
int b[101][101]= {0}; //答案
int n,m,i,j;
int dx[8]= {1,0,-1,0,-1,1,1,-1};
int dy[8]= {0,1,0,-1,-1,-1,1,1};
void dfs(int x,int y) {
	int nx,ny,k;
	for (k=0; k<8; k++) {
		nx=x+dx[k];
		ny=y+dy[k];
		if (nx>=1&&nx<=n&&ny>=1&&ny<=m)
			b[nx][ny]++;
	}
}
int main() {
	cin>>n>>m;
	for (i=1; i<=n; i++)
		for (j=1; j<=m; j++) {
			cin>>a[i][j];
			if (a[i][j]=='*')dfs(i,j);
		}
	for (i=1; i<=n; i++) {
		for (j=1; j<=m; j++)
			if (a[i][j]=='*') cout<<a[i][j];
			else cout<<b[i][j];
		cout<<endl;
	}
	return 0;
}
2024/11/9 10:35
加载中...