| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1 초 | 1024 MB | 147 | 39 | 26 | 21.667% |
괴짜 생물학자 정후는 단세포생물 YJ (Yeonguk Jo)에 대한 연구를 하고 있다. 연구를 위해 정후는 YJ 1마리를 배양해서 YJ $N-1$마리를 추가로 얻었다. $N$마리의 YJ에 대한 가계도는 트리를 이룬다. 즉, 초기 배양에 쓰인 YJ를 제외한 모든 YJ는 정확히 1마리의 부모를 가진다. 부모가 없는 YJ는 루트라고 부르며, 어떤 YJ의 세대는 가계도 상에서 루트까지의 거리로 정의된다. 서로 다른 두 YJ에 대해 이들의 최소 공통 조상은 가계도 상에서 최소 공통 조상으로 정의된다.
정후는 실험에 쓸 YJ 몇 마리를 선택하려고 한다. 선택한 YJ의 집합을 $S$라고 할 때, 다음 조건들을 만족해야 한다.
정후는 이러한 집합이 몇 개 존재하는지 궁금해졌다. 정후를 위해 가능한 집합의 개수를 10ドル^9+7$로 나눈 나머지를 구해주자!
첫 번째 줄에 정수 $N$이 주어진다.
두 번째 줄에 $N$개의 정수 $P_1, P_2, \ldots, P_N$이 주어진다. $P_i = -1$라면 $i$가 루트라는 뜻이다. 그 외의 경우, $P_i = j$라면 $i$번 YJ의 부모가 $j$번 YJ라는 뜻이다.
첫 번째 줄에 가능한 YJ의 집합의 개수를 10ドル^9+7$로 나눈 나머지를 출력한다.
6 -1 1 1 3 3 2
4
School > 서울과학고등학교 > SciOI 2022 I번