[BOJ 10014] Traveling Saga Problem

View as PDF

Submit solution

Points: 5
Time limit: 3.0s
Memory limit: 256M

Problem types
Allowed languages
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text

n개의 정점으로 이루어진 가중치 없는 사과나무가 있고, 1번 정점에 사과 한 알이 매달려 있다.

여행을 좋아하는 사과는 사과나무의 모든 정점을 정확히 방문하려고 한다. 사과는 방문하지 않은 정점 중 현재 사과의 위치와 가장 거리가 큰 정점으로 움직이며, 그러한 정점이 여러 개일 경우 가장 번호가 큰 정점을 방문한다.

방문한 정점의 번호를 순서대로 적으면 길이 n의 순열을 얻을 수 있을 것이다. 사과가 n개의 정점을 방문한 순서를 출력하여라.

입력 형식

첫 번째 줄에 사과나무의 정점의 수 n이 주어진다. (1 ≤ n ≤ 250000)

이후 n−1 개의 줄에 걸쳐 간선이 주어진다. 간선은 두 정수 s, e로 표현되며, s번 정점과 e번 정점을 잇는 간선이 존재함을 뜻한다. 간선의 가중치는 모두 1이다. (1 ≤ s, e ≤ n, s ≠ e).

당연하지만, 사과나무는 트리이다 (연결되어 있고 사이클이 없다).

출력 형식

사과가 방문한 정점의 순서를 출력하라.

예제 입력

7
1 2
2 3
2 4
5 1
6 5
7 5

예제 출력

1 7 4 6 3 5 2

힌트


Comments

There are no comments at the moment.