아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

트리 자르기

면접 대비

시간 제한1초메모리 제한128 MB

요약
노드 N개로 이루어진 트리에서 한 노드를 제거했을 때 남는 각 연결 조각의 크기가 모두 floor(N/2) 이하가 되는 노드를 모두 출력한다. 없으면 NONE을 출력한다.
난이도

보통10점 중 5점

유형
트리, DFS, 재귀, 구현
정답자
아직 제출이 없습니다

문제

농부 존(Farmer John)의 헛간 NN개는 트리 형태의 네트워크로 연결되어 있다. 소 베시(Bessie)는 헛간 하나의 전원을 끊어 그 헛간과 그 헛간에 연결된 모든 연결을 제거함으로써 네트워크를 방해하려고 한다.

헛간 하나를 제거하면 네트워크는 여러 개의 조각으로 나뉘며, 각 조각은 그 내부에서 여전히 서로 연결되어 있다. 베시는 방해 효과를 최대로 하기 위해, 제거한 뒤 생기는 모든 조각이 각각 전체 헛간 수의 절반을 넘지 않도록 만들고 싶다.

즉, 어떤 헛간 하나를 제거했을 때 남는 각 조각의 헛간 수가 모두 ⌊N/2⌋\lfloor N/2 \rfloor 이하가 되는, 그러한 모든 헛간을 찾아라.

1≤N≤10 0001 \le N \le 10\,000

입력

첫째 줄에 헛간의 수 NN이 주어진다. 헛간은 11부터 NN까지 번호가 매겨져 있다.

이어지는 N−1N-1개의 줄에는 각각 두 정수 XX와 YY가 주어지며, 이는 헛간 XX와 헛간 YY가 연결되어 있음을 뜻한다.

출력

제거했을 때 네트워크가 각각 전체 헛간 수의 절반 이하(⌊N/2⌋\lfloor N/2 \rfloor 이하)인 조각들로만 나뉘는 모든 헛간의 번호를, 번호가 커지는 순서로 한 줄에 하나씩 출력한다.

조건을 만족하는 헛간이 하나도 없으면 NONE만을 한 줄에 출력한다.

예제1

  1. 예제 1

    입력
    10
    1 2
    2 3
    3 4
    4 5
    6 7
    7 8
    8 9
    9 10
    3 8
    
    예상 출력
    3
    8