속도 줄이기
시간 제한1초메모리 제한128 MB
소들이 순서대로 자기 목초지로 갈 때, 루트 1에서 그 목초지까지의 경로 위에 이미 도착한 소가 차지한 목초지가 몇 개인지 센다.
문제
농부 John에게는 번으로 번호가 매겨진 소 마리가 있습니다. 매일 각 소는 외양간에서 자신만의 목초지로 걸어갑니다.
목초지들은 개의 노드로 이루어진 트리를 이루며, 외양간은 번 목초지에 있습니다. 정확히 개의 양방향 길이 목초지들을 연결하고, 직접 연결된 두 목초지 사이에는 길이 정확히 하나 있으므로 임의의 두 목초지 사이의 경로는 유일합니다. 번째 길은 목초지 와 를 연결합니다.
소 는 개인 목초지 를 소유합니다. 모든 목초지는 정확히 한 마리의 소가 소유하므로 은 의 순열입니다.
외양간의 좁은 문으로는 한 번에 한 마리만 나갈 수 있고, 각 소는 바로 앞 소가 자신의 목초지에 도착할 때까지 기다립니다. 먼저 소 이 나가 번 목초지에서 까지 걸어가 그곳에서 풀을 뜯기 시작합니다. 그다음 소 가 나가 번 목초지에서 까지 걸어가고, 이런 식으로 계속됩니다.
소 가 로 걸어가는 동안, 먼저 도착한 소가 이미 자리 잡은 목초지를 지나갈 수 있습니다. 그런 목초지에 들어설 때마다 친구를 방해하지 않으려고 속도를 줄입니다. 즉, 소 는 자기보다 먼저 나간 소(번) 중에서, 그 소유 목초지가 외양간(번 목초지)부터 까지의 경로 위에 있는 소의 수만큼 속도를 줄입니다.
아래 그림에서 괄호 안의 숫자는 각 목초지의 주인을 나타냅니다.
1 (3)
/ \
(1) 4 3 (5)
/ \
(2) 2 5 (4)
소 은 번 목초지로 가며 아무도 만나지 않습니다. 소 는 번 목초지로 가는 길에 이미 소가 있는 번 목초지를 지나므로 한 번 속도를 줄입니다. 소 은 번 목초지(외양간)를 소유하므로 한 번도 속도를 줄이지 않습니다. 소 는 번 목초지로 가는 길에 이미 소가 있는 번과 번 목초지를 지나 두 번 속도를 줄입니다. 소 는 번 목초지로 가는 길에 이미 소가 있는 번 목초지를 지나 한 번 속도를 줄입니다.
농부 John은 각 소가 몇 번 속도를 줄이는지 알고 싶어 합니다.
입력
- 첫째 줄: 정수 .
- 둘째 줄부터 째 줄까지: 째 줄에 두 정수 와 가 공백으로 구분되어 주어지며, 이는 목초지 와 를 잇는 길입니다.
- 째 줄부터 째 줄까지: 째 줄에 정수 가 주어지며, 이는 소 가 소유한 목초지입니다.
출력
- 첫째 줄부터 째 줄까지: 째 줄에 소 가 로 가는 동안 속도를 줄이는 횟수를 정수 하나로 출력합니다.