atcoder#AGC016F. [AGC016F] Games on DAG
[AGC016F] Games on DAG
配点 : 点
問題文
頂点 辺の有向グラフ があります。 頂点には から まで番号が振られています。 辺には から まで番号が振られています。 辺 は頂点 から へ張られています。 ただし、 です。 また、多重辺はありません。
の 本の辺集合からある部分集合を選び、 からそれらの辺を取り除いてグラフ を作ることを考えます。 このとき、グラフ は 通りあり得ます。
グラフ の上で、高橋君と青木君が次のようなゲームで勝負します。 まず、頂点 , に駒をひとつずつ置きます。 高橋君から始め、高橋君と青木君が交互に次の操作を行います。
- 頂点 に駒が置かれているような辺 を選び、頂点 の駒 ( つある場合は一方のみ) を頂点 へ移動する。 つの駒が同一の頂点に置かれてもよい。
先に操作を行えなくなった方が負けです。 二人は最適に行動するとします。
通りの のうち、高橋君が勝つような は何通りでしょうか? で割った余りを求めてください。
制約
- はすべて相異なる。
入力
入力は以下の形式で標準入力から与えられる。
出力
高橋君が勝つような は何通りか? で割った余りを出力せよ。
2 1
1 2
1
は次図の 通りです。 高橋君が勝つ場合は ○ で、負ける場合は × で表しています。
3 3
1 2
1 3
2 3
6
は次図の 通りです。
4 2
1 3
2 4
2
5 10
2 4
3 4
2 5
2 3
1 2
3 5
1 3
1 5
4 5
1 4
816