42번 - 아귀도

시간 제한1
메모리 제한1024 MB
제출7
정답1
맞힌 사람1
정답 비율14.29%

문제

아귀도의 호반우들은 $1$번부터 $N$번까지 $N$개의 정점으로 이루어지고 루트가 $1$번 정점인 트리로부터 깨달음을 얻고자 한다. 호반우들에게 $1$부터 $N$까지의 양의 정수로 이루어진 순열에서 일부가 $0$으로 바뀐 상태로 수열 $a_{1}, a_{2}, \cdots, a_{N}$이 주어진다. 해당 수열에서 $0$이 아닌 모든 $a_{i}$에 대해 $a_{i}$번 노드를 루트로하는 서브 트리에 포함된 모든 노드 번호가 $a_{i}$ 뒤에 나타나게 수열을 $1$부터 $N$까지의 양의 정수로 이루어진 순열로 완성시키는 경우의 수를 구해야 한다. 호반우를 도와 아귀도에서 깨달음을 얻어보자.

입력

첫째 줄에 $N$이 주어진다. $(1 \leq N \leq 200\,000)$ 둘째 줄에 순열 $a_{1}, a_{2}, \cdots, a_{N}$이 공백을 두고 주어진다. $(0 \leq a_{i} \leq N)$ 셋째 줄부터 $N - 1$개의 줄에 걸쳐 트리의 각 간선이 잇는 두 정점의 번호 $u, v$가 공백을 두고 주어진다. $(1 \leq u, v \leq N)$

출력

첫째 줄에 주어진 트리로 완성 가능한 본래의 순열의 개수를 $10^{9} + 7$로 나눈 나머지를 출력한다.

예제 1

예제 입력 1

4
1 0 0 0
1 2
2 4
3 2

예제 출력 1

6

예제 2

예제 입력 2

7
0 0 0 6 0 4 0
1 5
2 1
5 7
6 5
4 6
3 5

예제 출력 2

120

문제 정보

출처school > 경북대학교 > 2025 Goricon > E
출제자test_account
검수자-