upd 2020/8/2: 修复错字
这是一道矩阵乘法的最基础的题面。做对这题只需要按题意模拟即可。
记得开 long long
!
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=110;
int n,m,k,a[N][N],b[N][N],c[N][N];
void mul()
{
for(int i=1;i<=n;i++)
for(int j=1;j<=k;j++)
for(int p=1;p<=m;p++)
c[i][j]+=(a[i][p]*b[p][j]);
}
signed main()
{
scanf("%lld%lld",&n,&m);
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
scanf("%lld",&a[i][j]);
scanf("%lld",&k);
for(int i=1;i<=m;i++)
for(int j=1;j<=k;j++)
scanf("%lld",&b[i][j]);
mul();
for(int i=1;i<=n;i++)
{
for(int j=1;j<=k;j++)
printf("%lld ",c[i][j]);
putchar('\n');
}
return 0;
}
闲话:矩阵乘法可以用来优化dp,加速运算。