晚霞紫,求助,悬关
查看原帖
晚霞紫,求助,悬关
983667
Zjh_abcdbt_rnfmabj楼主2023/12/2 15:32

晚霞紫,求助

#include<bits/stdc++.h>
using namespace std;
int a[50][50],dx[]={-1,0,1,0},dy[]={0,1,0,-1},n;
struct node{
int x,y;
};
int bfs(int x,int y){
    node s;
    s.x=x,s.y=y;
    queue<node> q;
    q.push(s);
    while(!q.empty()){
        node t=q.front();
        q.pop();
        for(int i=0;i<=3;i++){ 
		node u; u.x=t.x+dx[i],u.y=t.y+dy[i]; 
		if(u.x<0||u.x>n+1||u.y<0||u.y>n+1||a[u.x][u.y]==1||a[u.x][u.y]==-1)
		a[u.x][u.y]=-1;
        q.push(u);
    }
}
    return 0;
}
int main(){
    cin>>n;
    for(int i=1;i<=n;i++) 
	    for(int j=1;j<=n;j++) 
        	cin>>a[i][j];
bfs(0,0);
    for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++){
            if(a[i][j]==-1) cout<<"0 ";
                else if(a[i][j]==0) cout<<"2 ";
                else cout<<"1 ";
    }
    cout<<endl;
}
    return 0;
}
2023/12/2 15:32
加载中...