도주 중인 소 (플래티넘)

트리에서 각 헛간마다 Bessie가 그곳에서 출발해 가장 가까운 출구로 달릴 때 그를 잡는 데 필요한 최소 농부 수를 구한다.

어려움8트리DFS그리디동적 계획법아직 제출이 없습니다시간 제한4초메모리 제한512 MB

문제

궁지에 몰린 소 베시가 외딴 농장으로 숨어들었다. 농장에는 헛간이 NN개 (2N7×1042 \leq N \leq 7 \times 10^4) 있고, 헛간과 헛간을 잇는 양방향 터널이 N1N-1개 있다. 두 헛간을 잇는 경로는 언제나 하나뿐이다. 터널이 하나만 연결된 헛간은 출구다.

아침이 되면 베시는 어느 헛간에서 땅 위로 올라와 출구로 빠져나가려 한다. 베시가 올라오는 순간 그 위치가 드러나고, 농부들이 여러 출구 헛간에서 출발해 베시를 잡으러 온다. 농부의 이동 속도는 베시와 같아서, 한 단위 시간마다 농부와 베시는 각각 인접한 헛간으로 한 칸 움직일 수 있다. 농부들은 베시가 어디 있는지 늘 알고, 베시도 농부들이 어디 있는지 늘 안다. 어느 순간 농부가 베시와 같은 헛간에 있거나 같은 터널을 지나면 베시는 잡힌다. 반대로 잡히기 전에 출구 헛간에 먼저 도착하면 베시는 탈출한다.

베시는 어느 헛간에서 올라올지 아직 정하지 못했다. 농부들이 출구 헛간에 최적으로 나뉘어 선다고 할 때, 헛간 NN개 각각에 대해 베시가 그곳에서 올라왔을 때 베시를 잡는 데 필요한 농부의 최소 인원을 구하라.

입력

첫째 줄에 NN이 주어진다. 다음 N1N-1개 줄에는 각각 11 이상 NN 이하인 정수 두 개가 주어지며, 그 두 헛간을 잇는 터널을 나타낸다.

출력

NN개 줄을 출력한다. ii번째 줄에는 베시가 ii번 헛간에서 올라왔을 때 베시를 잡는 데 필요한 농부의 최소 인원을 출력한다.