Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- struct p {
- int x = -1;
- int y = -1;
- };
- int main()
- {
- // std::ios::sync_with_stdio(false);
- // freopen("in.txt", "r", stdin);
- // freopen("out.txt", "w", stdout);
- int k;
- cin >> k;
- map<int, p> m;
- for (int i = 0; i < k-1; ++i) {
- int a, b;
- cin >> a >> b;
- if (m[a].x == -1) m[a].x = b;
- else m[a].y = b;
- if (m[b].x == -1) m[b].x = a;
- else m[b].y = a;
- }
- vector<int> r[2] = {{0}, {k}};
- //(-1), 0, ...
- //(-1), k, ...
- int prev_r;
- for (int i = 0; i < 2; ++i) {
- prev_r = -1;
- while (true) {
- bool f = 1;
- auto it = m.find(r[i].back());
- if (it != m.end()) {
- if (it->second.x == prev_r) {
- prev_r = r[i].back();
- r[i].push_back(it->second.y);
- } else { // y = prev_r
- prev_r = r[i].back();
- r[i].push_back(it->second.x);
- }
- } else {
- break;
- }
- }
- }
- for (int i = 0; i < r[0].size()-1; ++i) cout << r[0][i] << " ";
- for (int j = r[1].size()-2; j >= 0; --j) cout << r[1][j] << " "; //j=(size-1)-1
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement