题目描述
矩阵 AA 规模为n×m,矩阵 BB 规模为m×p,现需要你求A×B。
矩阵相乘的定义:n×m 的矩阵与m×p 的矩阵相乘变成n×p 的矩阵,令aik为矩阵A中的元素,bkj为矩阵B中的元素,则相乘所得矩阵C中的元素
cij=∑aikbkj
具体可见样例。
输入格式
第一行两个数n,m;
接下来n行m列描述一个矩阵A;
接下来一行输入p;
接下来m行p 列描述一个矩阵B。
输出格式
输出矩阵A与矩阵B相乘所得的矩阵C。
输入数据 0
2 3 1 2 3 3 2 1 2 1 1 2 2 3 3
输出数据 0
14 14 10 10
样例说明
[14=1×1+2×2+3×310=3×1+2×2+1×3]
[14=1×1+2×2+3×310=3×1+2×2+1×3]
数据范围与提示
对于全部数据,1≤n,m,p≤100,−10000≤aij,bij≤10000。
板子题,毫无思路可言,干就完了!!!
#include<bits/stdc++.h> using namespace std; int n,m,p,a[110][110],b[110][110],c[110][110]; int main(){ scanf("%d%d",&n,&m); for(int i = 1;i<=n;i++) for(int j = 1;j<=m;j++) scanf("%d",&a[i][j]); scanf("%d",&p); for(int i = 1;i<=m;i++) for(int j = 1;j<=p;j++) scanf("%d",&b[i][j]); for(int i = 1;i<=n;i++) for(int j = 1;j<=p;j++) for(int k = 1;k<=m;k++) c[i][j]+=a[i][k]*b[k][j]; for(int i = 1;i<=n;i++){ for(int j = 1;j<=p;j++) printf("%d ",c[i][j]); puts(""); } return 0; }
综上所述,我是蒟蒻
2022-10-27 18:09:51
标签:10,14,int,矩阵,相乘,P10219,6.5,110,SLOJ From: https://www.cnblogs.com/cztq/p/16833243.html