真的不知道哪错了。。。
查看原帖
真的不知道哪错了。。。
1029487
doudou0617楼主2023/7/15 18:27
#include<bits/stdc++.h>
using namespace std;
int x[4]={1,-1,0,0};
int y[4]={0,0,-1,1}; 
int n,a[100][100];
void bfs(int r,int m){
	a[r][m]=0;
	for(int i=0;i<4;i++){
		int	c=r+x[i];
		int d=m+y[i];
		if(c>=0&&c<=n+1&&d>=0&&d<=n+1&&a[c][d]==2&&a[c][d]!=1){
			bfs(c,d);
		}
		else{
			return;
		}
	}
}
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			cin>>a[i][j];
			if(a[i][j]!=1){
				a[i][j]=2;
			}
		}
	}
	bfs(0,0);
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			cout<<a[i][j]<<" ";
		}
		cout<<endl; 
	}
}

2023/7/15 18:27
加载中...