P2731 WA#8
#include <bits/stdc++.h>
#define ll long long
#define ull unsigned long long
using namespace std;
int tu[1020][1020];//邻接矩阵存图
int to[1020];//度
int road[1020];//记录路径
int n,m,st=1;//点边起点
int l;
void dfs(int u){//从某点开始跑欧拉路
for(int i=1;i<=n+1;i++){//找连着的点
if(tu[u][i]>=1){//连接
tu[u][i]--;tu[i][u]--;//删边防止重跑
dfs(i);//找下一个边
}
}
road[++l]=u;
}
int main(){
// freopen("P2731_8.in","r",stdin);
// freopen("P27311.in","w",stdout);
cin>>m;
for(int i=1;i<=m;i++){
int u,v;
cin>>u>>v;
tu[u][v]++;tu[v][u]++;
to[u]++;to[v]++;//度++
n=max(max(u,v),n);//求点个数
}
for(int i=1;i<=n+1;i++){
if(to[i]%2==1){//找到奇点
st=i;break;
}
}
dfs(st);
for(int i=l;i>=1;i--){
cout<<road[i]<<endl;
}
return 0;
}