순서 세기
시간 제한2초메모리 제한512 MB
루트가 있는 트리에서 각 정점이 모든 자손보다 앞에 오는 순열 중 k번째 자리에 정점 v가 오는 경우의 수를 10^9+7로 나눈 나머지로 구합니다.
문제
뿌리가 있는 트리가 주어진다. 트리의 정점은 부터 까지 번호가 붙어 있고, 루트는 정점 이다. 2 이상의 각 정점 의 부모는 정점 이다.
순열 ()를 생각하자. 임의의 정점 에 대해 의 모든 자손이 순열 에서 의 위치보다 오른쪽에 있으면, 이 순열을 적절한 순열이라고 부른다.
를 만족하는 적절한 순열 의 개수를 로 나눈 나머지를 구하라.
입력
첫 번째 줄에 정점의 개수 ()이 주어진다.
두 번째 줄에는 ()이 주어진다. 이는 정점 2부터 까지의 부모이다. 이면 이 줄은 비어 있다.
마지막 줄에는 두 정수 와 ()가 주어진다.
출력
를 만족하는 적절한 순열 의 개수를 로 나눈 나머지를 한 정수로 출력한다.
힌트
예제의 적절한 순열은 1 3 2 4 5 6, 1 3 2 4 6 5, 1 3 2 5 4 6, 1 3 2 5 6 4, 1 3 2 6 4 5, 1 3 2 6 5 4, 1 4 2 3 5 6, 1 4 2 3 6 5, 1 4 2 5 3 6이다.