HPU-1035-矩阵乘法
来源:互联网 发布:2003w0rd软件下载 编辑:程序博客网 时间:2024/06/10 11:32
点击打开链接
1035: 矩阵乘法 [矩阵]
时间限制: 1 Sec 内存限制: 128 MB提交: 224 解决: 94 统计
题目描述
给定两个矩阵$A$和$B$,你需要判断它们是否可以相乘,若可以请输出相乘后的矩阵。
输入
第一行输入一个整数$T$,代表有$T$组测试数据。
每组数据第一行输入两个整数$N,M$,代表矩阵$A$的行、列。
接下来$N$行,每行输入$M$个整数$a[][]$。
之后一行输入两个整数$n,m$,代表矩阵$B$的行、列。
接下来$n$行,每行输入$m$个整数$b[][]$。
注:$1 <= T <= 500,1 <= N,m <= 100,1 <= M,n <= 10,1 <= $矩阵元素$<= 20$。
输出
若矩阵$A、B$可以相乘,先输出$YES$,再输出相乘得到的矩阵。
对每行的矩阵元素,每两个元素之间有一个空格,最后一个没有空格。
反之输出$NO$。
样例输入
22 21 11 12 31 1 11 1 12 31 1 11 1 12 21 11 1
样例输出
YES2 2 22 2 2题解:本体没什么难度,但是对于C矩阵,每次用时都要初始化,不然很可能错NO
#include<stdio.h>#include<cstring> int main(){int T;scanf("%d",&T);while(T--){int n,m,x,y,a[200][200],b[200][200],c[200][200];memset(c,0,sizeof(c));//对C初始化scanf("%d%d",&n,&m);for(int i=0;i<n;i++)for(int j=0;j<m;j++)scanf("%d",&a[i][j]);scanf("%d%d",&x,&y);for(int i=0;i<x;i++)for(int j=0;j<y;j++)scanf("%d",&b[i][j]);if(m==x){printf("YES\n");for(int i=0;i<n;i++)for(int j=0;j<y;j++)for(int k=0;k<m;k++)c[i][j]+=a[i][k]*b[k][j];for(int i=0;i<n;i++)for(int j=0;j<y;j++)printf("%d%c",c[i][j],j==(y-1)?'\n':' ');}elseprintf("NO\n");}return 0;}
阅读全文
0 0
- hpu-【1035: 矩阵乘法】
- HPU-1035-矩阵乘法
- HPU 矩阵乘法
- 矩阵乘法(矩阵)【hpu】
- hpu暑假训练 B 矩阵乘法【矩阵】
- HOU VJ【1035】矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- Fibonacci
- http、tcp、udp的关系
- 欢迎使用CSDN-markdown编辑器
- 用户批量删除
- CodeForces
- HPU-1035-矩阵乘法
- java线程生产者与消费者模型
- AndroidStudio项目提交(更新)到github最详细步骤
- 分段机制小结
- 任务布置之web框架
- HDU1166敌兵布阵(线段树,树状数组)
- HDU-4678 Mine(BFS,NIM博弈,SG函数)
- 可视化算法-开端
- 【矩阵】备用模板