1 条题解
-
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
信息
- ID
- 4483
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者