qwertyuiop
2025-07-30 10:24:09
发布于:浙江
#include <bits/stdc++.h>
using namespace std;
int a[105][105],n,vis[105][105];
int dir[4][2]={{-1,0},{1,0},{0,-1},{0,1}};
struct node{
int x,y;
};
void bfs(int x,int y){
queue<node> q;
q.push({x,y});
vis[x][y]=1;
while(!q.empty()){
node t=q.front();
q.pop();
cout<<a[t.x][t.y]<<" ";
for(int i=0;i<4;i++){
int nx=t.x+dir[i][0],ny=t.y+dir[i][1];
if(nx>=1&&nx<=n&&ny>=1&&ny<=n&&vis[nx][ny]==0){
q.push({nx,ny});
vis[nx][ny]=1;
}
}
}
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
cin>>a[i][j];
}
}
bfs(1,1);
return 0;
}
这里空空如也
有帮助,赞一个