2 条题解
-
0
#include<bits/stdc++.h> const int N = 10000000; using namespace std; int m[1000][1000],d[N],l[N],sum=1,n,x,y,cnt=0,max_int=0; void dfs(int i) { int cnt1; for(cnt1 = 1;cnt1 <= max_int;++cnt1) { if(m[i][cnt1] >= 1) { m[i][cnt1]--,m[cnt1][i]--; dfs(cnt1); } } l[++cnt]=i; } int main() { cin >> n; for (int i = 1;i <= n;++i){ cin >> x >> y; m[x][y]++,m[y][x]++; d[x]++,d[y]++; max_int = max(max_int,max(x,y)); } for(int i = 1;i <= max_int;++i) { if(d[i]%2) { sum=i; break; } } dfs(sum); for(int i = cnt ; i >= 1;i--){ cout << l[i] << endl; } }
信息
- ID
- 596
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- 递交数
- 159
- 已通过
- 21
- 上传者