경기과학고는 작년 말에 크리스마스 트리를 설치했다. 설치한 트리 $T$는 정점이 $N$개로, 이 중 $1$번 정점이 루트이고 $i>1$이면 $i$번 정점의 부모는 $a_i$번 정점이다. $T$의 부분 트리는 $T$의 어떤 정점 $X$에 대해 $X$와 $X$의 모든 자손 정점, 그리고 이들을 잇는 간선으로 이루어진 트리이다. $T$의 지름은 $T$의 임의의 두 점 사이의 거리 중 가장 긴 것이다.
어떻게 해결한다는 걸까? 여러분이 한번 풀어 보자.
첫 번째 줄에 $N$이 주어진다.
두 번째 줄에 $N-1$개의 양의 정수 $a_2, a_3, \cdots, a_N$이 공백으로 구분되어 주어진다.
$N-1$개 줄에 걸쳐, $i$번째 줄에 $i+1$번 정점을 루트로 갖는 부분 트리를 떼었다 붙여 얻을 수 있는 크리스마스 트리의 최대 지름을 출력한다.
지호가 $O(N^2)$ 미만에 해결할 수 있을 것 같다고 이야기한 부분은, 엄밀히 하면 모든 정점에 대해 $o(N^2)$에 해결할 수 있다는 뜻이다.