题目描述
Problem Statement
There is a simple directed graph G with $N vertices, numbered 1, 2, \ldots, N$.
For each i and $j (1 \leq i, j \leq N),$ you are given an integer a_{i, j} that represents whether there is a directed edge from Vertex i to j.
If a_{i, j} = 1, there is a directed edge from Vertex i to j; if a_{i, j} = 0, there is not.
Find the number of different directed paths of length K in G, modulo 10^9 + 7.
We will also count a path that traverses the same edge multiple times.
Input
Input is given from Standard Input in the following format:
N K
$a_{1, 1} \ldots a_{1, N}$
:
$a_{N, 1} \ldots a_{N, N}$
Output
Print the number of different directed paths of length K in G, modulo 10^9 + 7.
Constraints
- All values in input are integers.
- $1 \leq N \leq 50$
- $1 \leq K \leq 10^{18}$
- a_{i, j} is 0 or 1.
- a_{i, i} = 0
Sample Input 1
4 2
0 1 0 0
0 0 1 1
0 0 0 1
1 0 0 0
Sample Output 1
6
G is drawn in the figure below:
There are six directed paths of length 2:
- 1 → 2 → 3
- 1 → 2 → 4
- 2 → 3 → 4
- 2 → 4 → 1
- 3 → 4 → 1
- 4 → 1 → 2
Sample Input 2
3 3
0 1 0
1 0 1
0 0 0
Sample Output 2
3
G is drawn in the figure below:
There are three directed paths of length 3:
- 1 → 2 → 1 → 2
- 2 → 1 → 2 → 1
- 2 → 1 → 2 → 3
Sample Input 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
Sample Output 3
1
G is drawn in the figure below:
There is one directed path of length 2:
- 4 → 5 → 6
Sample Input 4
1 1
0
Sample Output 4
0
Sample Input 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
Sample Output 5
957538352
Be sure to print the count modulo 10^9 + 7.
输入格式
见题面 Input 部分
输出格式
见题面 Output 部分