| Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|---|
| 443414 | 陈信宇 | 【C7-3】骑马修栅栏 | C++ | 运行出错 | 50 | 2 MS | 1276 KB | 1030 | 2026-06-05 21:35:45 |
#include<bits/stdc++.h> using namespace std; int a[506][505]; int d[505]; vector<int> p; void dfs(int u){ for(int i=1;i<=500;i++){ if(a[u][i]>0){ a[u][i]--; a[i][u]--; dfs(i); } } p.push_back(u); } int main(){ ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int f; cin>>f; int ma=0; for(int k=1;k<=f;k++){ int i,j; cin>>i>>j; a[i][j]++; a[j][i]++; d[i]++; d[j]++; if(i>ma) ma=i; if(j>ma) ma=j; } int s=-1; for(int i=1;i<=500;i++){ if(d[i]%2!=0){ s=i; break; } } if(s==-1){ for(int i=1;i<=500;i++){ if(d[i]>0){ s=i; break; } } } else{ dfs(s); } reverse(p.begin(),p.end()); for(int i=0;i<p.size();i++){ cout<<p[i]<<"\n"; } return 0; }