提示
#include <cstdio> #include <cstdlib> #include <bits/stdc++.h> using namespace std; int mp[150][150]; int vis[150]; int k,i,w,m,t; void bfs(int x,int k,int m) { queue<int>q; printf("%d",x); q.push(x); while(!q.empty()) { w=q.front(); q.pop(); for(i=0;i<k;i++) { if(mp[w][i]==1&&!vis[i]) { printf(" %d",i); vis[i]=1; q.push(i); } }
} } int main() {
int n,j,k,u,v; scanf("%d",&n); while(n--) { scanf("%d%d%d",&k,&m,&t); memset(mp,0,sizeof(mp)); memset(vis,0,sizeof(vis)); for(i=0;i<=m-1;i++) { scanf("%d%d",&u,&v); mp[u][v]=mp[v][u]=1; } vis[t]=1; bfs(t,k,m); printf("\n"); }
return 0; }