提交时间:2023-08-24 11:11:56

运行 ID: 99980

#include<iostream> #include<cstdio> #define ll long long using namespace std; const int N=5e2+10; bool e[N][N]; ll in[N],path[N]; ll q,x,y,cnt=0; ll end; void ride(ll start) { for(int i=1;i<=end;i++) { if(e[start][i]>0) { e[start][i]^=1; e[i][start]^=1; ride(i); } } path[++cnt]=start; } int main() { std::cin>>q; while(q--) { std::cin>>x>>y; e[x][y]=1; e[y][x]=1; in[x]++,in[y]++; end=max(end,(max(x,y))); } ll start=1; for(int i=1;i<=end;i++) { if(in[i]%2==1) { start=i; break; } } ride(start); for(int i=cnt;i>=1;i--) std::cout<<path[i]<<"\n"; puts(""); return 0; }