問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
グラフが隣接行列 a の形で与えられます。このグラフの長さ k のパスの数を求めてください。
ただし、答えは非常に大きくなる可能性があるため、10000000 = 10^7 で割ったあまりを出力してください。
なお、与えられるグラフには自己ループや多重辺が含まれる可能性があります。
ヒント: a^k の要素 {a^k}_{ij} は、i 番目の頂点から j 番目の頂点への長さ k のパスの数に対応します。
n k
a_{11} a_{12} ... a_{1n}
a_{21} a_{22} ... a_{2n}
...
a_{n1} a_{n2} ... a_{nn}
長さ k のパスの数を 10000000 = 10^7 で割ったあまりを出力してください。
また、末尾に改行を入れ、余計な文字を含んではいけません。
すべてのテストケースにおいて、以下の条件をみたします。
・ 入力はすべて整数
・ 1 ≦ n ≦ 100
・ 1 ≦ k ≦ 2^20
・ 0 ≦ a_{ij} ≦ 100 (1 ≦ i, j ≦ n)
2 2
1 2
3 4
54
4 4
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1024