atcoder#ARC121E. [ARC121E] Directed Tree

[ARC121E] Directed Tree

题目描述

1 1 から N N の番号がついた N N 頂点の有向木が与えられます。

頂点 1 1 はこの木の根です。 2  i  N 2\ \leq\ i\ \leq\ N を満たす整数 i i について、頂点 pi p_i から i i へ向かう有向辺が存在します。

a a (1,,N) (1,\ldots,N) を並び替えて得られる数列とします。また、a a i i 番目の項を ai a_i とします。

a a としてありうる数列は N! N! 通りあります。それらのうち、下記の条件を満たすものの個数を 998244353 998244353 で割ったあまりを求めてください。

  • 条件:1  i  N 1\ \leq\ i\ \leq\ N を満たす任意の整数 i i について、頂点 ai a_i から 1 1 度以上辺を辿って頂点 i i へ到達することはできない。

输入格式

入力は以下の形式で標準入力から与えられる。

N N p2 p_{2} \cdots pN p_N

输出格式

(1,,N) (1,\ldots,N) の並び替え a a のうち、問題文中の条件を満たすものの個数を 998244353 998244353 で割ったあまりを出力せよ。

题目大意

给定一棵有根树,根结点为 1,结点 ii 的父亲为 pip_i,边的方向由父亲连向儿子。

定义一个 1n1\sim n 的排列 aa 是合法的,当且仅当对于任意 ii,不存在 aiia_i\to i 的,经过 至少一条边 的路径。

对合法排列计数,答案对 998244353 取模。1n2×1031\le n\le 2\times 10^3

4
1 1 3
4
30
1 1 3 1 5 1 1 1 8 9 7 3 11 11 15 14 4 10 11 12 1 10 13 11 7 23 8 12 18
746746186

提示

制約

  • 与えられる入力は全て整数
  • 1  N  2000 1\ \leq\ N\ \leq\ 2000
  • 1  pi < i 1\ \leq\ p_i\ <\ i

Sample Explanation 2

- 998244353 998244353 で割ったあまりを出力するのを忘れずに。