矩阵乘法
struct A{
int a[N][N],x,y;
A(){memset(a,0,sizeof(a));}
A operator*(A const &num){
A ans;
ans.x=x,ans.y=num.y;
for(int i=1;i<=x;i++){
for(int j=1;j<=y;j++){
for(int k=1;k<=num.y;k++){
ans.a[i][j]+=a[i][k]*num.a[k][j]%mod;
ans.a[i][j]%=mod;
}
}
}
return ans;
}
void pr(){
for(int i=1;i<=x;i++){
for(int j=1;j<=y;j++) printf("%lld ",a[i][j]);
printf("\n");
}
}
}p,ans;

浙公网安备 33010602011771号