题目背景
矩阵快速幂
题目描述
给定 n\times nn×n 的矩阵 AA,求 A^kA
k
。
输入格式
第一行两个整数 n,kn,k 接下来 nn 行,每行 nn 个整数,第 ii 行的第 jj 的数表示 A_{i,j}A
i,j
。
输出格式
输出 A^kA
k
共 nn 行,每行 nn 个数,第 ii 行第 jj 个数表示 (A^k)_{i,j}(A
k
)
i,j
,每个元素对 10^9+710
9
+7 取模。
输入输出样例
输入 #1复制
2 1
1 1
1 1
输出 #1复制
1 1
1 1
说明/提示
【数据范围】
对于 100%100% 的数据:1\le n \le 1001≤n≤100,0 \le k \le 10^{12}0≤k≤10
12
, |A_{i,j}| \le 1000∣A
i,j
∣≤1000
模板题,没什么特别的。注意一下取余和long long就好了。只是在快速幂的基础上重新定义了矩阵乘法和base,照猫画虎即可。
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <vector>
#include <cstring>
#include <stack>
#include <cmath>
#include <string>
using namespace std;
typedef long long ll ;
typedef vector<vector<ll> > mat;
typedef vector<ll> vec;
using namespace std;
c