#include <cstdio>
#include <iostream>
using namespace std;
int map[501][501];
int rd[501],l[9999];
int n,cnt;
void find(int x)
{
for(int i=1;i<=500;i++)
if(map[x][i])
{
map[x][i]--;
map[i][x]--;
find(i);
}
l[++cnt]=x;
}
int main()
{
//freopen("a.in","r",stdin);
//freopen("a.out","w",stdout);
int m;
scanf("%d",&m);
for(int i=1;i<=m;i++)
{
int x,y;
scanf("%d%d",&x,&y);
map[x][y]++;
map[y][x]++;
rd[x]++;
rd[y]++;
n=max(x,n);
n=max(y,n);
}
int q=1;//找起点
for(int i=1;i<=500;i++)
if(rd[i]%2==1)
{
q=i;
break;
}
find(q);
for(int i=cnt;i>=1;i--)
printf("%d\n",l[i]);
return 0;
}
骑马修栅栏(标程)
最新推荐文章于 2023-04-01 00:29:50 发布