#include <bits/stdc++.h>

using namespace std;
#define IOS ios::sync_with_stdio(false), cin.tie(0);
#define rep(i, n) for (int i = 0; i < (n); i++)
typedef long long LL;
typedef pair<int, int> PII;
typedef vector<int> vi;

//const int N=;
int x, y, z;

int main()
{
    IOS
    cin>>x>>y>>z;
    vector<vi> a(x, vi(y)), b(y, vi(z));
    vector<vi> c(x, vi(z));
    for(int i=0; i<x; i++)
        for(int j=0; j<y; j++)
            cin>>a[i][j];
    for(int i=0; i<y; i++)
        for(int j=0; j<z; j++)
            cin>>b[i][j];
    for(int i=0; i<x; i++)
        for(int j=0; j<z; j++)
            for(int k=0; k<y; k++)
                c[i][j]+=a[i][k]*b[k][j];
    for(int i=0; i<x; i++)
        for(int j=0; j<z; j++)
            cout<<c[i][j]<<" \n"[j==z-1];
    return 0;
}

矩阵乘法,线性代数里的公式,对照不难发现新矩阵的一个元素是原来两个矩阵的第i行和第j列分别相乘求和

模拟即可,记得c[i][j]是+=a[i][k]*b[k][j]

#牛客春招刷题训练营#