提交时间:2026-06-05 21:35:45
运行 ID: 443414
#include<bits/stdc++.h> using namespace std; int a[506][505]; int d[505]; vector<int> p; void dfs(int u){ for(int i=1;i<=500;i++){ if(a[u][i]>0){ a[u][i]--; a[i][u]--; dfs(i); } } p.push_back(u); } int main(){ ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int f; cin>>f; int ma=0; for(int k=1;k<=f;k++){ int i,j; cin>>i>>j; a[i][j]++; a[j][i]++; d[i]++; d[j]++; if(i>ma) ma=i; if(j>ma) ma=j; } int s=-1; for(int i=1;i<=500;i++){ if(d[i]%2!=0){ s=i; break; } } if(s==-1){ for(int i=1;i<=500;i++){ if(d[i]>0){ s=i; break; } } } else{ dfs(s); } reverse(p.begin(),p.end()); for(int i=0;i<p.size();i++){ cout<<p[i]<<"\n"; } return 0; }