9 条题解
-
3
【模板】矩阵乘法
这道题是一道模板题,还不会的同志们看下面这张图:
比如说: 给出一个矩阵A: 1 2 3 3 2 1 再给出矩阵B: 1 1 2 2 3 3 根据公式得出矩阵C: 14 14 10 10
过程如下
那么按照公式模拟即可,别忘了取模!(尽量一边算一边mod 代码:
#include <bits/stdc++.h> using namespace std; long long A[1114][1114],B[1114][1114],C[1114][1114]; const long long mod=1000000007; int main(){ int n,m,k; cin>>n>>m>>k; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ cin>>A[i][j]; } } for(int i=1;i<=m;i++){ for(int j=1;j<=k;j++){ cin>>B[i][j]; } } for(int i=1;i<=n;i++){ for(int j=1;j<=k;j++){ long long sum=0; for(int l=1;l<=m;l++){ sum=(sum+(A[i][l]*B[l][j]+mod)%mod+mod)%mod; } C[i][j]=sum%1000000007; //cout<<sum<<" "; } //cout<<endl; } //if(you use the grey one)return 0 here for(int i=1;i<=n;i++){ for(int j=1;j<=k;j++){ cout<<C[i][j]<<" "; } cout<<endl; } return 0;
完结撒花!!!
信息
- ID
- 60
- 时间
- 2000ms
- 内存
- 256MiB
- 难度
- 3
- 标签
- 递交数
- 769
- 已通过
- 196
- 上传者