No.2522 Fall in love, Girls!
タグ : / 解いたユーザー数 36
作問者 : MasKoaTS / テスター : Shirotsume fky_
問題文
コアさんは恋愛アドベンチャーゲームにハマっています。
このゲームには $1, 2, \dots, N$ の番号が付いた $N$ 人のヒロインがおり、うち $M$ 人のヒロイン $1, 2, \dots, M$ はサブヒロインに分類されます。
このゲームで $N$ 人のヒロイン全員を $1$ 人 $1$ 回ずつ攻略する方法であって、
次の条件をすべて満たすものの個数を $998244353$ で割った余りを求めてください。
ヒロイン $X_{i}$ はヒロイン $Y_{i}$ よりも先に攻略する $(1 \leq i \leq K)$
最初に攻略するヒロインはサブヒロインでない
制約
$0 \leq M < N \leq 10^{6}$
$0 \leq K \leq \min( 380, N \times (N - 1) )$
$1 \leq X_{i}, Y_{i} \leq N$ $(1 \leq i \leq K)$
$X_{i} \neq Y_{i}$ $(1 \leq i \leq K)$
$(X_{i}, Y_{i}) \neq (X_{j}, Y_{j})$ $(1 \leq i < j \leq K)$
$X_{i}, Y_{i}$ $(1 \leq i \leq K)$ として現れる整数の種類数は $20$ 以下、すなわち $\displaystyle \left| \bigcup_{i=1}^{K} \{ X_{i}, Y_{i} \} \right| \leq 20$
入力はすべて整数
入力
入力は次の形式で与えられます。
$N$ $M$ $K$ $X_{1}$ $Y_{1}$ $X_{2}$ $Y_{2}$ $\vdots$ $X_{K}$ $Y_{K}$
$1$ 行目には $N$ と $M$ と $K$ がこの順に半角スペース区切りで与えられる
$i+1$ $(1 \leq i \leq K)$ 行目には $X_{i}$ と $Y_{i}$ がこの順に半角スペース区切りで与えられる
出力
答えを $1$ 行に出力してください。
サンプル
サンプル1
入力
6 2 7 1 3 2 4 4 3 5 3 5 4 6 2 6 5
出力
8
例えば、次のようにヒロインを攻略する方法はすべての条件を満たします。
$6 \to 1 \to 5 \to 2 \to 4 \to 3$
ヒロイン $1$ はサブヒロインに分類されるため、次の攻略順はすべての条件を満たしません。
$1 \to 6 \to 2 \to 4 \to 5 \to 3$
また、ヒロイン $4$ はヒロイン $3$ よりも先に攻略しなければならないため、次の攻略順はすべての条件を満たしません。
$6 \to 2 \to 1 \to 5 \to 3 \to 4$
サンプル2
入力
4 2 2 3 4 4 3
出力
0
すべての条件を満たす攻略順は $1$ 個も存在しません。
サンプル3
入力
5 0 0
出力
120
サブヒロインが $1$ 人も存在しない場合もあります。
サンプル4
入力
2015 227 10 1 200 2 310 3 420 4 530 5 640 234 6 343 696 452 501 561 711 670 821
出力
872708262
答えを $998244353$ で割った余りを求めてください。
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。