만드는 중입니다

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

Y

시간 제한1.5초메모리 제한1024 MB

요약
주어진 트리에서 정점을 지워 남길 수 있는 가장 큰 Y 모양 부분트리의 크기를 구한다. 중심 정점 하나에 세 개의 잎 경로가 붙고, 차수가 4 이상인 정점은 없다.
난이도

어려움10점 중 8점

유형
트리, DFS, 동적 계획법, 그리디
정답자
아직 제출이 없습니다

문제

Y-트리는 아래 조건을 모두 만족하는 트리이다.

  1. 44개 이상의 정점과 인접한 정점은 없다.
  2. 인접한 정점의 개수가 33개인 정점은 정확히 하나만 존재한다.
  3. 인접한 정점이 하나뿐인 정점은 정확히 세 개 존재한다.

Y-트리의 크기는 해당 Y-트리를 이루는 정점의 개수와 같다.

11, 22, …, NN까지의 번호가 하나씩 매겨진 정점 NN개로 이루어진 트리가 주어진다. 주어진 트리에서 정점을 00개 이상 삭제하여 만들 수 있는 가장 큰 Y-트리의 크기를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 트리의 정점 개수를 의미하는 정수 NN이 주어진다. (2≤N≤100 0002 \leq N \leq 100\,000)

둘째 줄부터 N−1N-1개 줄에 걸쳐 트리를 이루는 간선의 정보를 나타내는 두 정수 uu, vv가 주어진다. 이는 uu번 정점과 vv번 정점 사이를 잇는 간선이 존재한다는 의미이다. (1≤u,v≤N1 \leq u, v \leq N, u≠vu \neq v)

트리를 이루는 모든 간선은 정확히 한 번씩 주어진다.

출력

첫째 줄에 주어진 트리에서 만들 수 있는 가장 큰 Y-트리의 크기를 출력한다.

Y-트리를 만들 수 없다면 00을 출력한다.

예제2

  1. 예제 1

    입력
    8
    1 2
    1 3
    2 4
    1 5
    2 6
    2 7
    8 7
    
    예상 출력
    6
    
  2. 예제 2

    입력
    3
    1 2
    2 3
    
    예상 출력
    0