矩阵乘法
来源:互联网 发布:mysql with cube 编辑:程序博客网 时间:2024/05/16 15:58
Description
矩阵乘法是线性代数中最基本的运算之一。
给定三个矩阵,请编写程序判断是否成立。
给定三个矩阵,请编写程序判断是否成立。
Input
输入包含多组数据。每组数据的格式如下:
第一行包括两个整数p和q,表示矩阵A的大小。后继p行,每行有q个整数,表示矩阵A的元素内容。
紧接着用相同的格式给出矩阵B和矩阵C。
输入数据的最后一行是两个0,你的程序处理到这里时就应该退出了。
输入数据中所有的整数绝对值都不超过100。
第一行包括两个整数p和q,表示矩阵A的大小。后继p行,每行有q个整数,表示矩阵A的元素内容。
紧接着用相同的格式给出矩阵B和矩阵C。
输入数据的最后一行是两个0,你的程序处理到这里时就应该退出了。
输入数据中所有的整数绝对值都不超过100。
Output
对每一组输入数据,你的程序都要输出单独一行字符。
如果成立则输出”Yes”
如果A和B根本不能相乘,或不成立,则输出”No”。注意大小写。
如果成立则输出”Yes”
如果A和B根本不能相乘,或不成立,则输出”No”。注意大小写。
Sample Input
2 3
1 2 3
4 5 6
3 2
1 2
3 4
5 6
2 2
22 28
49 64
1 2
1 2
2 1
2
1
2 2
2 4
1 2
1 2
1 2
1 1
1
1 1
1
0 0
1 2 3
4 5 6
3 2
1 2
3 4
5 6
2 2
22 28
49 64
1 2
1 2
2 1
2
1
2 2
2 4
1 2
1 2
1 2
1 1
1
1 1
1
0 0
Sample Output
Yes
No
No
No
No
Source
第二届招商银行杯程序设计大赛
代码:
#include<iostream>#include<string.h>using namespace std;void init(int x,int y,int s[100][100]){int i,j;for (i=0; i<x; i++){for (j=0; j<y; j++) cin>>s[i][j];}}int main(){int i,j,k,flag=1;int ai,aj,bi,bj,ci,cj,a[100][100]={0},b[100][100]={0},c[100][100]={0},sum;while (cin>>ai>>aj){if(ai == 0 && aj == 0){break;}flag=1;init(ai,aj,a);cin>>bi>>bj;init(bi,bj,b);cin>>ci>>cj;init(ci,cj,c);if (aj!=bi || ai!=ci || bj!=cj){cout<<"No"<<endl;continue;}for (i=0; i<ai; i++){for (j=0; j<bj; j++){sum=0;for (k=0; k<aj; k++){sum += a[i][k]*b[k][j];}if (sum != c[i][j]){cout<<"No"<<endl;flag = 0;i=ai;break;}}}if (flag)cout<<"Yes"<<endl;}return 0; }
0 0
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- 矩阵乘法
- opencv之图片序列转存为视频
- wordpress使用技巧
- 深度学习在分词上的应用
- Windows编程窗口
- PAT L2-003. 月饼 C++
- 矩阵乘法
- git基本操作--删除文件和移动文件
- 【C++】内存管理方式
- centos7 安装配置solr tomcat8单机版
- Android启动模式
- Examination 20170318
- 双系统安装Windows10+Ubuntu
- ubuntu用Ctrl+L将file地址栏/导航栏 显示模式 切换为全路径, 如何恢复原模式呢?
- 0318