1. 程式人生 > >LibreOJ #100. 矩陣乘法

LibreOJ #100. 矩陣乘法

fin clas scanf == 順序 log pre har amp

二次聯通門 : 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. 矩陣乘法