꽁꽁 얼어붙은 트리

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

요약
d가 2부터 N까지일 때 루트에서 부모 또는 자식 방향으로 정확히 d칸씩 이동해 도달할 수 있는 노드 수를 세고, 그 최댓값을 출력한다.
난이도

보통10점 중 7점

유형
트리, 그래프, 정수론, 완전 탐색
정답자
아직 제출이 없습니다

문제

노드가 NN개인 꽁꽁 얼어붙은 트리 위로 고양이가 걸어 다니려고 한다. 루트 노드는 11번 노드이며, 트리를 이루는 모든 간선의 거리는 11이다.

N−1N-1마리의 고양이가 11번 노드에 멈춰있고, 다른 노드로 걸어 다니기 위해 준비하고 있다. 하지만 이 트리는 꽁꽁 얼어붙어서, 각 고양이가 갖고 있는 고유한 제동지수에 따라 노드를 미끄러지면서 이동해야 한다. N−1N-1마리 고양이의 제동지수 dd는 각각 2,3,⋯ ,N2, 3, \cdots, N이다.

고양이는 1회 이동 시 부모 방향(루트 방향) 혹은 자식 방향 중 하나를 선택하고, 그 방향으로만 간선을 따라 정확히 제동지수 dd만큼 미끄러진 후 도착한 노드에 멈춰있을 수 있다. 즉, 11 이상 dd 미만으로 미끄러졌으나 루트 혹은 리프노드에 도착하도록 이동할 수 없다.

N−1N-1마리의 고양이는 부모 방향 혹은 자식 방향으로 원하는 횟수만큼 이동할 수 있다. 각 고양이가 11번 노드를 포함해 멈춰있을 수 있는 노드의 개수를 구했을 때, 이 값들 중 가장 큰 값을 구해주자.

입력

첫째 줄에 꽁꽁 얼어붙은 트리의 노드 개수 NN이 주어진다. (2≤N≤106)(2 \leq N \leq 10^6)

둘째 줄에 P_1,P_2,⋯ ,P_N−1P\_1, P\_2, \cdots, P\_{N-1}이 공백으로 구분되어 주어진다. ii번째 수는 i+1i+1번 노드의 부모 노드 번호를 의미한다. (1≤P_i≤N)(1 \leq P\_i \leq N)

입력은 항상 트리임이 보장된다.

출력

N−1N-1마리 고양이들이 11번 노드를 포함해 멈춰있을 수 있는 노드의 개수를 구했을 때, 이 값들 중 가장 큰 값을 하나의 정수로 출력한다.

힌트

루트 노드는 부모 노드가 없는 노드를, 리프 노드는 자식 노드가 없는 노드를 의미한다.

예제2

  1. 예제 1

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

    입력
    2
    1
    
    예상 출력
    1