提交时间:2024-04-16 16:47:49
运行 ID: 143566
#include<bits/stdc++.h> using namespace std; int mp[505][505],in[1000005],k=0,n,m,s=1061109567; stack<int> st; void dfs(int x){ for(int i=1;i<=k;i++) if(mp[x][i]){ mp[x][i]--; mp[i][x]--; dfs(i); } st.push(x); } int main(){ cin>>n; for(int i=0,x,y;i<n;i++){ cin>>x>>y; k=max(k,max(x,y)); mp[x][y]++; mp[y][x]++; in[y]++,in[x]++; } for(int i=1;i<=k;i++)if(in[i]%2==1)s=min(s,i); if(s==1061109567)s=1; dfs(s); while(!st.empty()){ cout<<st.top()<<endl; st.pop(); } return 0; }