LibreOJ #100. 矩阵乘法

Posted ZlycerQan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LibreOJ #100. 矩阵乘法相关的知识,希望对你有一定的参考价值。

二次联通门 : LibreOJ #100. 矩阵乘法

 

 

 

 

 

/*
    LibreOJ #100. 矩阵乘法
    
    矩阵乘法
    
    注意两个矩阵宽与高相乘的顺序 
*/
#include <cstdio>

#define Max 500
#define Mod 1000000007

int main (int argc, char *argv[])
{
    static long long a[Max + 1][Max + 1], b[Max + 1][Max + 1];

    int N, P, M;
    
    scanf("%d %d %d", &N, &P, &M);

    for (int i = 1; i <= N; i++)
        for (int j = 1; j <= P; j++)
            scanf("%lld", &a[i][j]);

    for (int i = 1; i <= P; i++)
        for (int j = 1; j <= M; j++)
            scanf("%lld", &b[i][j]);

    static long long c[Max + 1][Max + 1];
    
    for (int i = 1; i <= N; i++)
        for (int k = 1; k <= P; k++)
            for (int j = 1; j <= M; j++)
            
                (c[i][j] += a[i][k] * b[k][j]) %= Mod;

    for (int i = 1; i <= N; i++)
        for (int j = 1; j <= M; j++)
        
            printf("%lld%c", (c[i][j] % Mod + Mod) % Mod, " \n"[j == M]);
    
    return 0;
}

 

以上是关于LibreOJ #100. 矩阵乘法的主要内容,如果未能解决你的问题,请参考以下文章

LibreOJ #110. 乘法逆元

LibreOJ #108. 多项式乘法

Python+CUDA三种方式实现,用矩阵乘法举例

loj #100. 矩阵乘法

矩阵乘法无需相乘,速度提升100倍,MIT开源最新近似算法 | ICML 2021

Python中怎样计算3%乘100