[BOJ 10014] Traveling Saga Problem
View as PDF
Submit solution
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text
Points:
5
Time limit:
3.0s
Memory limit:
256M
Problem types
Allowed languages
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