为什么全RE呢??
查看原帖
为什么全RE呢??
288506
OutsideR_楼主2021/5/5 17:44
#include <iostream>
#include <queue>
using namespace std;
int n,m,k[200][200];
struct node{
	int x,y;
};
bool visit[200][200];
int mx[4]={1,-1,0,0};
int my[4]={0,0,1,-1};
bool q[200][200];
int bfs(int sx,int sy){
	queue <node> que;
	node head;
	head.x=sx;
	head.y=sy;
	visit[sx][sy]=1;
	que.push(head);
	while(!que.empty()){
		node f=que.front();
		que.pop();
		for(int i = 0;i<4;i++){
			int tx = f.x + mx[i];
			int ty = f.y + my[i];
			if(!visit[tx][ty] && k[tx][ty]==0){
				node n;
				n.x=tx;
				n.y=ty;
				q[tx][ty]=1;
				que.push(n);
				visit[tx][ty]=1;
			}
		}
	}
}
int main(){
	cin>>n;
	for(int i = 1;i<=n;i++){
		for(int j = 1;j<=n;j++){
			cin>>k[i][j];
		}
	}
	bfs(n,n);
	for(int i = 1;i<=n;i++){
		for(int j = 1;j<=n;j++){
			if(q[i][j])cout<<k[i][j]<<' ';
			else if(!q[i][j] && k[i][j]==1)cout<<k[i][j]<<' ';
			else{
				cout<<2<<' ';
			}
		}
		cout<<endl;
	}
	return 0;
}
2021/5/5 17:44
加载中...