여우 파워로 하는 너비 우선 탐색
시간 제한2초메모리 제한128 MB
루트가 있는 트리를 너비 우선 순서로 모두 방문할 때 이동한 거리의 합을 구합니다.
문제
여우 시엘은 자전거를 타고 JAG 왕국에 갔다가 자전거를 어디에 세웠는지 잊어버렸다. 집으로 돌아가려면 자전거 주차장에서 자전거를 찾아야 한다.
주차장은 정점이 개인 가중치 없는 루트 트리 이고, 정점 번호는 부터 까지이며 정점 이 루트다. 각 정점에는 자전거를 한 대 이상 세울 수 있는 공간이 있다. 시엘은 자전거를 정점 근처에 세웠다고 생각해서 정점 에서 시작하는 너비 우선 탐색으로 찾기로 했다. 즉 정점 에서의 거리가 가까운 정점부터 찾아본다. 거리가 같은 정점이 여러 개면 부모를 먼저 찾아본 정점을 먼저 찾아보고, 부모가 같은 정점이 여러 개면 번호가 작은 정점을 먼저 찾아본다.
시엘은 컴퓨터가 아니라서 다음 정점으로 곧바로 건너뛸 수 없다. 정점 다음에 정점 로 갈 때는 트리에서 두 정점 사이의 거리만큼 걸어야 한다. 최악의 경우 시엘은 모든 정점을 찾아봐야 한다. 정점 에서 출발해 위 순서대로 정점 개를 모두 찾아볼 때 걷는 거리의 합을 구하라.
입력
입력 형식은 다음과 같다.
n
p2 p3 p4 ... pn
첫째 줄에 가중치 없는 루트 트리 의 정점 개수 ()이 주어진다.
둘째 줄에 정수 개 ()이 주어진다. 는 정점 의 부모다. 정점 은 루트라서 부모가 없다. 이면 둘째 줄은 비어 있다.
출력
최악의 경우에 걷는 거리의 합을 한 줄에 출력한다.