#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define fi first
#define se second
int main() {
ios_base::sync_with_stdio(false); cin.tie(NULL);
int n, a, b, cnt = 3;
cin >> n;
vector<int> ans;
bool c[n + 1] = {};
vector<int> v[n + 1];
for (int i = 1; i <= n; i++) {
cin >> a >> b;
v[i].push_back(a);
v[i].push_back(b);
}
ans.push_back(1);
int tmp;
if (v[v[1].front()].front() == v[1].back() or v[v[1].front()].back() == v[1].back()) {
ans.push_back(v[1].front());
ans.push_back(v[1].back());
tmp = v[1].front();
}
else {
ans.push_back(v[1].back());
ans.push_back(v[1].front());
tmp = v[1].back();
}
c[1] = 1, c[v[1].front()] = 1, c[v[1].back()] = 1;
while (cnt < n) {
if (c[v[tmp].front()]) {
ans.push_back(v[tmp].back());
c[v[tmp].back()] = 1;
tmp = v[tmp].front();
}
else {
ans.push_back(v[tmp].front());
c[v[tmp].front()] = 1;
tmp = v[tmp].back();
}
cnt++;
}
for (auto x : ans) cout << x << " ";
cout << "\n";
}
672. Richest Customer Wealth | 1470. Shuffle the Array |
1431. Kids With the Greatest Number of Candies | 1480. Running Sum of 1d Array |
682. Baseball Game | 496. Next Greater Element I |
232. Implement Queue using Stacks | 844. Backspace String Compare |
20. Valid Parentheses | 746. Min Cost Climbing Stairs |
392. Is Subsequence | 70. Climbing Stairs |
53. Maximum Subarray | 1527A. And Then There Were K |
1689. Partitioning Into Minimum Number Of Deci-Binary Numbers | 318. Maximum Product of Word Lengths |
448. Find All Numbers Disappeared in an Array | 1155. Number of Dice Rolls With Target Sum |
415. Add Strings | 22. Generate Parentheses |
13. Roman to Integer | 2. Add Two Numbers |
515. Find Largest Value in Each Tree Row | 345. Reverse Vowels of a String |
628. Maximum Product of Three Numbers | 1526A - Mean Inequality |
1526B - I Hate 1111 | 1881. Maximum Value after Insertion |
237. Delete Node in a Linked List | 27. Remove Element |