Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
99983 | liuxinyi | 骑马修栅栏 | C++ | 解答错误 | 62 | 1 MS | 564 KB | 675 | 2023-08-24 11:13:36 |
#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 last; void ride(ll start) { for(int i=1;i<=last;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]++; last=max(last,(max(x,y))); } ll start=1; for(int i=1;i<=last;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; }