不知道为啥,下载的#1在本机一输入n和k就RE了,提交全WA
#include<iostream>
using namespace std;
const int mod=1e9+7;
int n,k;
struct matrix{
long long num[105][105]={0};
matrix operator*(const matrix b)const{
matrix c;
for(int k=1;k<=n;k++){
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
c.num[i][j]+=(num[i][k]*b.num[k][j]%mod)%mod;
}
}
}
return c;
}
};
matrix a,ans,dw;
matrix ksm(matrix x,int k){
if(k==0)return dw;
if(k==1)return x;
matrix t=ksm(x,k/2);
if(k%2==0)return t*t;
else return t*t*x;
}
int main(){
cin>>n>>k;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
cin>>a.num[i][j];
//cout<<a.num[i][j];
dw.num[i][j]=1;
}
}
ans=ksm(a,k);
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
cout<<ans.num[i][j]<<" ";
}
cout<<"\n";
}
return 0;
}