显示原始代码
#include <bits/stdc++.h>
using namespace std;
typedef unsigned long long int ulli;
#define F(i, n, m) for (int i = n; i <= m; i++)
inline int read() {
bool w = 0;
int s = 0;
char ch = 0;
while (!isdigit(ch)) w = ch == '-', ch = getchar();
while (isdigit(ch)) s = (s << 3) + (s << 1) + (ch ^ 48), ch = getchar();
return w ? -s : s;
}
inline void write(int x) {
if (x < 0)
putchar('-'), x = ~x + 1;
if (x > 9)
write(x / 10);
putchar((x % 10) | 48);
}
vector<int> p[20001];
vector<int> ans;
void dfs(int k) {
ans.push_back(k);
F(i, k == 1 ? 0 : 1, p[k].size() - 1)
dfs(p[k][i]);
}
int main() {
int n = read(), a, b;
F(i, 1, n - 1) {
a = read();
b = read();
p[a].push_back(b);
p[b].push_back(a);
}
F(i, 1, n)
sort(p[n].begin(), p[n].end());
dfs(1);
F(i, 1, n) {
write(ans[i - 1]);
if (i != n)
printf(" ");
}
return 0;
}