정 이진 트리 (라지)

주어진 트리에서 정점을 최소로 삭제해 남은 정점이 루트를 자유롭게 고른 포화 이진 트리가 되게 합니다.

보통7동적 계획법트리DFS아직 제출이 없습니다시간 제한5초메모리 제한512 MB

문제

트리는 사이클이 없는 연결 그래프다.

루트 있는 트리는 정점 하나를 루트로 정한 트리다. 루트 있는 트리에서 XXYY 사이에 간선이 있고 루트에서 XX까지의 최단 경로가 루트에서 YY까지의 최단 경로보다 짧으면, YYXX의 자식이라고 한다.

정 이진 트리는 모든 정점의 자식이 정확히 2개이거나 0개인 루트 있는 트리다.

정점이 NN개인 트리 GG가 주어진다. 정점 번호는 11부터 NN까지다. 정점을 몇 개 지울 수 있고, 정점을 지우면 그 정점에 붙은 간선도 함께 사라진다. 남은 정점 중 하나를 루트로 잡았을 때 남은 정점 전체가 하나의 정 이진 트리를 이루도록, 지우는 정점 수를 최소로 하라.

입력

첫 줄에 테스트 케이스의 수 TT가 주어진다. 각 테스트 케이스의 첫 줄에는 트리의 정점 수 NN이 주어진다. 이어지는 N1N-1개의 줄에는 두 정수 XiX_iYiY_i가 공백으로 구분되어 주어진다. GGXiX_iYiY_i를 잇는 방향 없는 간선이 있다는 뜻이다.

제한

  • 1T1001 \le T \le 100
  • 2N10002 \le N \le 1000
  • 1Xi,YiN1 \le X_i, Y_i \le N
  • 각 테스트 케이스의 간선은 항상 연결된 트리를 이룬다.

출력

각 테스트 케이스마다 Case #x: y 형식으로 한 줄씩 출력한다. x는 1부터 시작하는 테스트 케이스 번호이고, yGG를 정 이진 트리로 만들려고 지워야 하는 정점 수의 최솟값이다.

힌트

첫 번째 예제 테스트 케이스에서는 정점 1을 루트로 보면 GG가 이미 정 이진 트리이므로 아무것도 지우지 않아도 된다.

두 번째 예제 테스트 케이스에서는 정점 3과 7을 지우면 정점 2를 루트로 하는 정 이진 트리가 남는다.

세 번째 예제 테스트 케이스에서는 정점 1을 지우면 정점 3을 루트로 하는 정 이진 트리가 남는다. 정점 4를 지우고 정점 2를 루트로 잡아도 된다.