标签:
4 5 1 2 1 4 2 3 2 4 3 4
1 2 3 4 2 1 4 3 2 4 1
1 #include <cstdio> 2 #include <cstring> 3 using namespace std; 4 const int maxn = 10010; 5 struct arc { 6 int to,next; 7 arc(int x = 0,int y = -1) { 8 to = x; 9 next = y; 10 } 11 } e[500000]; 12 int head[maxn],tot,n,m; 13 bool vis[500000]; 14 void add(int u,int v) { 15 e[tot] = arc(v,head[u]); 16 head[u] = tot++; 17 } 18 void dfs(int u) { 19 for(int &i = head[u]; ~i; i = e[i].next) { 20 if(vis[i]) continue; 21 vis[i] = true; 22 dfs(e[i].to); 23 } 24 printf("%d\n",u); 25 } 26 int main() { 27 int u,v; 28 while(~scanf("%d%d",&n,&m)) { 29 memset(head,-1,sizeof head); 30 memset(vis,false,sizeof vis); 31 for(int i = tot = 0; i < m; ++i) { 32 scanf("%d%d",&u,&v); 33 add(u,v); 34 add(v,u); 35 } 36 dfs(1); 37 } 38 return 0; 39 }
标签:
原文地址:http://www.cnblogs.com/crackpotisback/p/4716400.html