0
1
mirror of https://git.sb/baoshuo/OI-codes.git synced 2024-11-27 17:16:28 +00:00
OI-codes/AcWing/1124/1124.cpp

62 lines
965 B
C++

#include <iostream>
#include <algorithm>
#include <limits>
using std::cin;
using std::cout;
const char endl = '\n';
const int N = 505;
int m, g[N][N], d[N];
int min = std::numeric_limits<int>::max(),
max = std::numeric_limits<int>::min();
int cnt, ans[N << 1];
void dfs(int u) {
for (int i = min; i <= max; i++) {
if (g[u][i]) {
g[u][i]--, g[i][u]--;
dfs(i);
}
}
ans[++cnt] = u;
}
int main() {
std::ios::sync_with_stdio(false);
cin.tie(nullptr);
cin >> m;
while (m--) {
int u, v;
cin >> u >> v;
g[u][v]++, g[v][u]++;
d[u]++, d[v]++;
min = std::min({min, u, v});
max = std::max({max, u, v});
}
int s = min;
for (int i = min; i <= max; i++) {
if (d[i] & 1) {
s = i;
break;
}
}
dfs(s);
for (int i = cnt; i; i--) {
cout << ans[i] << endl;
}
return 0;
}