Hurt @ 2017-12-12 00:30:55
#include<bits/stdc++.h>
using namespace std;
int F,x,y;
int du[1055],tu[1055][1055]; //度,栅栏
int cnt=0,s[1055];
int mn=9999999,mx=-9999999;
int k;
void dfs(int p)
{
for(int i=mn;i<=mx;i++)
if(tu[p][i])
{
tu[p][i]--;
tu[i][p]--;
dfs(i);
}
s[++cnt]=p;
}
int main()
{
memset(tu,0,sizeof(tu));
scanf("%d",&F);
for(int i=1;i<=F;i++)
{
scanf("%d %d",&x,&y);
mn=min(mn,min(x,y));
mx=max(mx,max(x,y));
du[x]++;
du[y]++;
tu[x][y]++;
tu[y][x]++;
}
for(int i=mn;i<=mx;i++)
{
if(du[i]%2)
{
k=i;
break;
}
}
dfs(k);
for(int i=cnt;i>=1;i--)
printf("%d\n",s[i]);
return 0;
}