트리의 리프 노드

부모 배열로 주어진 트리에서 특정 노드와 그 자손을 모두 삭제한 뒤 남은 리프 노드의 개수를 구합니다.

쉬움3트리DFS구현면접 대비아직 제출이 없습니다시간 제한2초메모리 제한128 MB

문제

리프 노드는 자식이 없는 노드이다.

트리가 주어진다. 노드 하나를 삭제하면 그 노드와 그 노드의 모든 자손이 트리에서 사라진다. 지정된 노드를 삭제한 뒤 남은 트리에서 리프 노드가 몇 개인지 구하라.

아래 그림의 트리에는 리프 노드가 3개 있다. 초록색으로 표시된 노드가 리프 노드이다.

이 트리에서 1번 노드를 삭제하면, 1번 노드와 그 자손이 함께 삭제된다. 검은색으로 표시된 노드가 삭제된 노드이다.

이 경우 남은 트리의 리프 노드는 1개이다.

입력

첫째 줄에 노드의 개수 N이 주어진다. N은 50 이하의 자연수이다.

둘째 줄에는 0번 노드부터 N-1번 노드까지 각 노드의 부모 번호가 순서대로 주어진다. 부모가 없는 루트 노드의 부모는 -1로 주어진다.

셋째 줄에는 삭제할 노드의 번호가 주어진다.

출력

지정된 노드를 삭제한 뒤 남은 트리의 리프 노드 개수를 첫째 줄에 출력한다.