#include<iostream> #define MAX 1024 using namespace std; int g[MAX][MAX]={0}; int d[MAX]={0}; int r[MAX]={0}; int n=0,e,a,b,m=0; void in(); void find(int i); void out(); int main() { in(); for(int i=1;i<n+1;i++) { if(d[i]%2==1) { find(i); out(); return 0; } } find(1); out(); return 0; } void in() { cin>>e; for(int i=1;i<e+1;i++) { cin>>a>>b; m=max(a,b); n=max(n,m); g[a][b]++; g[b][a]++; d[a]++; d[b]++; } } void find(int i) { for(int j=1;j<n+1;j++) { if(g[i][j]>0) { g[i][j]--; g[j][i]--; find(j); } } r[++r[0]]=i; } void out() { for(int i=r[0];i>0;i--) { cout<<r[i]<<endl; } } /************************************************************** Problem: 2054 User: admin Language: C++ Result: Accepted Time:34 ms Memory:6176 kb ****************************************************************/