- #include<stdio.h>
- #include<string.h>
- int mark,k,m,map[101][101],vis[101][101],h[105];
- void seek(int mb)
- {
- if(h[mb]) return;
- else h[mb] = 1;
- int i,j;
- if(mark)
- {
- printf("%d",mb);
- mark = 0;
- }
- else printf(" %d",mb);
- for(i = 1;i < k; i++)
- {
- if( (map[i][mb] && !vis[i][mb]) || (map[mb][i] && !vis[mb][i]))
- {
- vis[i][mb] = vis[mb][i] = 1;
- seek(i);
- }
- }
- }
- int main()
- {
- int js,u,v,i;
- scanf("%d",&js);
- while(js--)
- {
- memset(map,0,sizeof(map));
- memset(vis,0,sizeof(vis));
- memset(h,0,sizeof(h));
- mark = 1;
- scanf("%d %d",&k,&m);
- for(i = 0;i < m; i++)
- {
- scanf("%d %d",&u,&v);
- if(u > v) map[u][v] = 1;
- else map[v][u] = 1;
- }
- for(i = 0;i < k; i++)
- {
- if(!h[i])
- {
- seek(i);
- }
- }
- printf("\n");
- }
- return 0;
- }