晚霞紫,求助
#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;
}