1 solutions
-
0
C++ :
#include<iostream> #include<cstdio> using namespace std; int minn=510,maxn=0,num; int f[510][510],du[510],ans[100000]; void find(int t){ for(int j=minn;j<=maxn;j++){ if(f[t][j]){ f[t][j]--; f[j][t]--; find(j); } } ans[num]=t; num++; } int main(){ int n,x,y; cin>>n; for(int i=0;i<n;i++){ scanf("%d%d",&x,&y); f[x][y]++; f[y][x]++; du[x]++; du[y]++; if(x<minn)minn=x; if(y<minn)minn=y; if(x>maxn)maxn=x; if(y>maxn)maxn=y; } int s=1; for(int i=minn;i<=maxn;i++){ if(du[i]%1==1){ s=i; break; } } num=1; find(s); for(int i=num-1;i>=1;i--){ printf("%d\n",ans[i]); } return 0; }
- 1
Information
- ID
- 19404
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- (None)
- Tags
- # Submissions
- 0
- Accepted
- 0
- Uploaded By