#dpr. [dp_r]Walk
[dp_r]Walk
問題文
頂点の単純有向グラフ があります。 頂点には と番号が振られています。
各 () について、頂点 から への有向辺の有無が整数 によって与えられます。 ならば頂点 から への有向辺が存在し、 ならば存在しません。
の長さ の有向パスは何通りでしょうか? で割った余りを求めてください。 ただし、同じ辺を複数回通るような有向パスも数えるものとします。
制約
- 入力はすべて整数である。
- は または である。
入力
入力は以下の形式で標準入力から与えられる。
出力
の長さ の有向パスは何通りか? で割った余りを出力せよ。
入力例 1
4 2
0 1 0 0
0 0 1 1
0 0 0 1
1 0 0 0
出力例 1
6
は次図です。
長さ の有向パスは、次の 通りです。
- → →
- → →
- → →
- → →
- → →
- → →
入力例 2
3 3
0 1 0
1 0 1
0 0 0
出力例 2
3
は次図です。
長さ の有向パスは、次の 通りです。
- → → →
- → → →
- → → →
入力例 3
6 2
0 0 0 0 0 0
0 0 1 0 0 0
0 0 0 0 0 0
0 0 0 0 1 0
0 0 0 0 0 1
0 0 0 0 0 0
出力例 3
1
は次図です。
長さ の有向パスは、次の 通りです。
- → →
入力例 4
1 1
0
出力例 4
0
入力例 5
10 1000000000000000000
0 0 1 1 0 0 0 1 1 0
0 0 0 0 0 1 1 1 0 0
0 1 0 0 0 1 0 1 0 1
1 1 1 0 1 1 0 1 1 0
0 1 1 1 0 1 0 1 1 1
0 0 0 1 0 0 1 0 1 0
0 0 0 1 1 0 0 1 0 1
1 0 0 0 1 0 1 0 0 0
0 0 0 0 0 1 0 0 0 0
1 0 1 1 1 0 1 1 1 0
出力例 5
957538352
答えを で割った余りを出力することを忘れずに。