如果你 90pts,WA on #10
查看原帖
如果你 90pts,WA on #10
1340759
ARIS2_0楼主2024/12/18 14:43

检查进行矩阵乘法时取模有没有取干净。

错误示范:

mat operator * (mat a,mat b){
	mat c={0,0,0,0,0,0,0,0,0};
	for(int i=1;i<maxn;i++){
        for(int k=1;k<maxn;k++){
            for(int j=1;j<maxn;j++){
                c.a[i][j]+=a.a[i][k]*b.a[k][j])%mod;
            }
        }
    }
    return c;
}

正确代码:

mat operator * (mat a,mat b){
	mat c={0,0,0,0,0,0,0,0,0};
	for(int i=1;i<maxn;i++){
        for(int k=1;k<maxn;k++){
            for(int j=1;j<maxn;j++){
                c.a[i][j]+=(a.a[i][k]*b.a[k][j])%mod;
                c.a[i][j]%=mod;
            }
        }
    }
    return c;
}
2024/12/18 14:43
加载中...