만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

JAG 반격

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

요약
두 플레이어가 번갈아 트리의 정점을 고르고, 첫 번째 플레이어가 고른 정점 중 가장 먼 두 정점의 최적 거리를 구합니다.
난이도

보통10점 중 7점

유형
트리, 게임 이론, BFS
정답자
아직 제출이 없습니다

문제

JAG는 회사 BESTBEST가 새로 만든 혁명적인 게임이다. 이 게임은 TT 라운드로 진행되며, 각 라운드마다 플레이어는 NN개의 영역으로 이루어진 지도를 받는다. 지도에서 국경을 맞대고 있는 영역의 쌍은 정확히 N−1N-1개이고, 지도는 연결되어 있다. 즉 임의의 두 영역 uu와 vv에 대해, 다른 영역을 거쳐서라도 uu에서 vv로 이동할 수 있다.

플레이어들은 모든 영역이 선택될 때까지 번갈아 영역을 고른다. 규칙은 두 가지다.

  • 차례를 건너뛸 수 없다.
  • 플레이어는 자신이나 상대가 이미 선택한 영역을 다시 고를 수 없다.

두 영역 uu와 vv의 거리는 uu에서 vv로 가는 경로 중 넘어야 하는 국경의 최소 개수이다. 첫 번째 플레이어는 자신이 고른 영역 중 가장 먼 두 영역 사이의 거리를 최소로 만들려고 한다. 두 번째 플레이어는 그 거리를 최대로 만들려고 한다. 두 플레이어가 최적으로 플레이할 때, 첫 번째 플레이어가 고른 영역 중 가장 먼 두 영역 사이의 거리를 출력하라.

입력

첫 줄에 라운드 수 TT가 주어진다. 각 라운드의 첫 줄에는 영역의 개수 NN (3≤N≤1053 \leq N \leq 10^5)이 주어진다. 이어지는 N−1N-1개의 줄에는 국경을 맞대고 있는 두 영역 uu와 vv가 주어진다. 모든 라운드의 NN을 합하면 200000을 넘지 않는다.

출력

TT개의 줄을 출력한다. ii번째 줄에는 ii번째 라운드의 답을 출력한다.

예제1

  1. 예제 1

    입력
    1
    5
    1 2
    1 3
    1 4
    1 5
    
    예상 출력
    2