提示
#include<bits/stdc++.h> using namespace std; int Map[1010][1010]; int vis[1010]; int c[1010]; int T,n,m,u,v,s,a,b; void bfs(int k) { if(b==0) { c[b++]=s; vis[s]=1; } a++; for(int i=0; i<n; i++) { if(!vis[i]&&Map[i][k]) { c[b++]=i; vis[i]=1; } } if(a<=n) bfs(c[a]); } int main() { cin>>T; while(T--) { cin>>n>>m>>s; memset(vis,0,sizeof(vis)); memset(Map,0,sizeof(Map)); for(int i=0; i<m; i++) { cin>>u>>v; Map[u][v]=Map[v][u]=1; } a=0; b=0; bfs(s); for(int i=0; i<b-1; i++) { cout<<c[i]<<" "; } cout<<c[b-1]<<endl; } return 0; }
