【ZZNU 1715 矩阵乘法】

来源:互联网 发布:淘宝网宏仁羊毛衫 编辑:程序博客网 时间:2024/06/09 17:39

点击打开链接


1715 : 矩阵乘法

时间限制:1 Sec 内存限制:512 MiB
提交:158 答案正确:90

提交 状态 讨论区

题目描述

输入两个矩阵,分别是m*s,s*n大小。输出两个矩阵相乘的结果。

输入

 第一行,空格隔开的三个正整数m,s,n(均不超过200)。
  接下来m行,每行s个空格隔开的整数,表示矩阵A(i,j)。
  接下来s行,每行n个空格隔开的整数,表示矩阵B(i,j)。

输出

m行,每行n个空格隔开的整数,输出相乘後的矩阵C(i,j)的值。

样例输入

复制
2 3 21 0 -11 1 -30 31 23 1

样例输出

复制
-3 2-8 2

#include<cstdio>#include<cstring>#define N 201typedef long long LL;LL A[N][N],B[N][N],C[N][N];LL m,s,n;int main(){int i,j;while(~scanf("%lld%lld%lld",&m,&s,&n)){for(i=0;i<m;i++)for(j=0;j<s;j++)scanf("%lld",&A[i][j]);for(i=0;i<s;i++)for(j=0;j<n;j++)scanf("%lld",&B[i][j]);memset(C,0,sizeof(C));int k;for(k=0;k<m;k++){for(j=0;j<n;j++){for(i=0;i<s;i++){C[k][j]+=A[k][i]*B[i][j];}}}for(i=0;i<m;i++)for(j=0;j<n;j++)printf("%lld%c",C[i][j],j==n-1?'\n':' ');}return 0;}