#include<bits/stdc++.h>
using namespace std;
int num[2000][2000],visit[10000];
int bfs(int b,int k)
{
int i;
queue<int> q;
q.push(b);
visit[b]=1;
int flag=1;
while(!q.empty())
{
int h=q.front();
q.pop();
if(flag)
{ flag=0;
printf("%d",h);}
else
{printf(" %d",h);}
for(i=0;i<k;i++)
{
if(num[h][i]&&!visit[i])
{
q.push(i);
visit[i]=1;
}
}
}
return 0;
}
int main()
{
int n,k,m,t,i,u,v;
scanf("%d",&n);
while(n--)
{
memset(num,0,sizeof(num));
memset(visit,0,sizeof(visit));
scanf("%d %d %d",&k,&m,&t);
for(i=0;i<m;i++)
{
scanf("%d %d",&u,&v);
num[u][v]=num[v][u]=1;
}
bfs(t,k);
printf("\n");
}
return 0;
}
转载请注明原文地址: https://ju.6miu.com/read-1305855.html