矩阵乘法

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;
posted @ 2022-09-29 13:37  hubingshan  阅读(12)  评论(0)    收藏  举报  来源