問題一覧 > 通常問題

No.2585 How many "Who is Santa?"

レベル : / 実行時間制限 : 1ケース 1.225秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 42
作問者 : netyo715 / テスター : 👑 p-adic
5 ProblemId : 10345 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2023-11-16 11:51:22

問題文

整数 NN が与えられます。
あなたは次の問題「Who is Santa?」の、入力の MMNN であるようなテストケースを作ることにしました。
Who is Santa?」の制約を満たす入力の内 M=NM=N であるものの個数を 998244353998244353 で割ったあまりを出力してください。
詳しくはサンプルを参照してください。


Who is Santa?

問題文

11 から MM の番号が付けられた MM 人の人がいます。
MM 人の内 11 人だけがサンタで、MM 人の人全員がそれを把握しています。
ii は人 Ai(iAi)A_i(i \neq A_i) について、Li=0L_i = 0 のときサンタではないと、Li=1L_i = 1 のときサンタであると言っています。
サンタは必ず嘘を吐き、サンタでない人は必ず正しいことを言います。
人々はサンタが 11 人に定まるように発言しています。

サンタが 11 人に定まるとは

次の条件を全て満たす整数 ii11 つだけ存在するとき、発言からサンタが 11 人に定まるとします。

  • ii は人 AiA_i がサンタであると言っている。
  • ii 以外の人についてサンタであると言っているのは人 ii だけである。
  • ii がサンタではないと言っている人が存在しない。

サンタの番号を答えてください。

入力

MM
L1L_1 A1A_1
L2L_2 A2A_2
:
LML_M AMA_M

  • 入力は全て整数
  • 2M2 \leq M
  • Li{0,1}L_i \in \{0, 1\}
  • 1AiM1 \leq A_i \leq M
  • AiiA_i \neq i
  • 入力からサンタが 11 人に定まる

出力

サンタの番号を出力してください。

サンプル

入力
3
1 2
1 1
0 1
出力
2

  • 11 は人 22 のことをサンタだと言っています。
  • 22 は人 11 のことをサンタだと言っています。
  • 33 は人 11 のことをサンタではないと言っています。


入力

NN

  • NN は整数
  • 2N202312252 \leq N \leq 20231225

出力

Who is Santa?」の制約を満たす入力の内、 M=NM=N であるものの個数を 998244353998244353 で割ったあまりを出力してください。
最後に改行してください。

サンプル

サンプル1
入力
3
出力
24

Who is Santa?」の入力の内、制約を満たすものは 2424 個です。
例えば、次の入力は全ての制約を満たしており、2424 個の入力に含まれます。

3
1 2
1 1
0 2

次の入力は制約の「入力からサンタは 11 人に定まる」を満たさず、2424 個の入力に含まれません。

3
1 2
1 3
1 1
サンプル2
入力
4
出力
312

例えば、次の入力は制約の「入力からサンタは 11 人に定まる」を満たさず、312312 個の入力に含まれません。

4
1 2
1 1
0 4
0 3
サンプル3
入力
3018570
出力
1213

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。