Problem F: Matrix Problem (III) : Array Practice Time Limit: 1 Sec Memory Limit: 4 MB Submit: 8787
Problem F: Matrix Problem (III) : Array Practice
Time Limit: 1 Sec Memory Limit: 4 MB
Submit: 8787 Solved: 2934
[Submit][Status][Web Board]
Description
求两个矩阵A、B的乘积C=AB。根据矩阵乘法的定义,只有A的列数和B的行数相同才能相乘。可以确保所有运算结果都在int类型的范围之内。
Input
输入数据为多个矩阵(最少2个),每个矩阵以两个正整数m和n开始,满足0<m,n<=100,接下来为一个m行n列的矩阵A。当输入的m和n均为0时,表示输入数据结束。
Output
对输入的矩阵两两相乘:第1个和第2个相乘、第1个和第2个相乘的结果和第3个相乘……按顺序输出矩阵相乘的结果:每行两个元素之间用一个空格分开,每行最后一个元素之后为一个换行,在下一行开始输出矩阵的下一行。
若前k个矩阵相乘的结果和第k+1个矩阵无法相乘(即不满足矩阵乘法定义),则输出“Not satisfied the definition of matrix multiplication!”。然后用第k+1个矩阵去和第k+2个矩阵相乘。最后一个矩阵只做乘数。
每两组输出之间用一个空行分隔开。
Sample Input
Sample Output
HINT
矩阵的乘法就是一行乘以一列加起来做一个元素。
Append Code//难点主要在回车的处理还有三重循环上,还有就是最少两个可以做很方便的处理。
#include<stdio.h>
#include<string.h>
int mul(int a[][105],int b[][105],int s[][105],int m,int n,int y)
{int c,d,e;for(c=0; c<m; c++){for(d=0; d<y; d++){for(e=0; e<n; e++){s[c][d]+=a[c][e]*b[e][d];}}}for(c=0; c<m; c++){printf("%d",s[c][0]);for(d=1; d<y; d++){printf(" %d",s[c][d]);}printf("\n");}return 0;
}
int cpy(int a[][105],int s[][105],int m,int y)
{//memset(a,0,sizeof(a));int c,d;for(c=0; c<m; c++){for(d=0; d<y; d++){a[c][d]=s[c][d];}}//memset(s,0,sizeof(s));return 0;
}
int main()
{//freopen("in.txt","r",stdin);int a[105][105],b[105][105],s[105][105];int x,y,m,n,c,d,e,flag=1;memset(a,0,sizeof(a));memset(b,0,sizeof(b));memset(s,0,sizeof(s));scanf("%d %d",&m,&n);//输入m,n 前两个一定存在,只需要判定符不符合就好//if(m==0)return 0;for(c=0; c<m; c++){for(d=0; d<n; d++){scanf("%d",&a[c][d]);}}scanf("%d %d",&x,&y);//if(x==0)return 0;for(c=0; c<x; c++){for(d=0; d<y; d++){scanf("%d",&b[c][d]);}}while(1)//m,n是第一个矩阵 x,y是第二个矩阵,如果符合惩罚崔泽,那么n=x,得到的s是m,y的{if(flag==0)printf("\n");if(n==x){//if(flag==0)printf("\n");mul(a,b,s,m,n,y);flag=0;cpy(a,s,m,y);n=y;//if(bre==1)break;}else{printf("Not satisfied the definition of matrix multiplication!\n");flag=0;//bre=1;cpy(a,b,x,y);n=y;m=x;}memset(b,0,sizeof(b));memset(s,0,sizeof(s));scanf("%d %d",&x,&y);//前两个之后,每次只输入一个。if(x==0)return 0;for(c=0; c<x; c++){for(d=0; d<y; d++){scanf("%d",&b[c][d]);}}}return 0;
}/**************************************************************Problem: 1055User: 201701060928Language: CResult: AcceptedTime:16 msMemory:800 kb
****************************************************************/
Problem F: Matrix Problem (III) : Array Practice Time Limit: 1 Sec Memory Limit: 4 MB Submit: 8787相关推荐
- 问题 K: Sequence Problem (III) : Array Practice
题目描述 整数序列是一串按特定顺序排列的整数,整数序列的长度是序列中整数的个数,不可定义长度为负数的整数序列. 两整数序列A.B的和定义为一个新的整数序列C,序列C的长度是A.B两者中较长的一个,序列 ...
- Problem F: 结构体--学生信息排序
Problem F: 结构体–学生信息排序 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 378 Solved: 192 [Submit][Status ...
- Problem F: 乌鸦坐飞机
Problem F: 乌鸦坐飞机 Time Limit: 2 Sec Memory Limit: 128 MB Submit: 110 Solved: 9 [ Submit][ Status] ...
- Problem F: 平面上的点——Point类 (VI)
Problem F: 平面上的点--Point类 (VI) Time Limit: 1 Sec Memory Limit: 4 MB Submit: 6636 Solved: 3048 [ S ...
- [山东科技大学OJ]1376 Problem F: 编写函数:数组的排序 (Append Code)
Time Limit: 1 Sec Memory Limit: 16 MB Submit: 18648 Solved: 9472 [Submit][Status] Description 输入一组整数 ...
- 2018 Multi-University Training Contest 4 Problem E. Matrix from Arrays 【打表+二维前缀和】
任意门:http://acm.hdu.edu.cn/showproblem.php?pid=6336 Problem E. Matrix from Arrays Time Limit: 4000/20 ...
- 2018 Multi-University Training Contest 3 Problem F. Grab The Tree 【YY+BFS】
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6324 Problem F. Grab The Tree Time Limit: 2000/1000 MS ...
- CF-1207 F. Remainder Problem(分块)
CF-1207 F. Remainder Problem(分块) 题目链接 题意 一共5e5个数字,两种操作: 1 x y , a[x] += y 2 x y , ∑i∈nai,n∈[1,5e5],n ...
- Matrix Problem
Matrix Problem 题意: 给你一个n * m的二维数据c,c的每个元素值为0或1 现在要求你构造同样大小的数组a和b,要求c[i][j] =='1'的话,a[i][j] = b[i][j] ...
最新文章
- 产品经理岗位职责说明_公司销售经理岗位职责说明书
- iOS - 内购_类型
- C#中判断空字符串的3种方法性能分析
- ElasticSearch vs Solr多维度分析对比
- 虚拟机禅道服务器ip,Linux系统(虚拟机)安装禅道
- Jboss jar包冲突及jar加载顺序
- @transactional 可以定义到controller_仿照源码,手写一个自定义 Spring MVC 框架
- 【IDEA】IDEA怎么汉化汉化后怎么转回英文
- python源码中明明没有逻辑代码 为什么还能执行呢
- 计算机学拼音打字,拼音打字练习
- 网络广告的效果测定与评估
- Python猜数字游戏(包含异常处理,可自定义随机数产生范围、最大猜测次数,如果用户猜错的话可根据输入情况缩小猜测范围)
- windows下安装设置redis
- 计算机课代表中段考总结,第一学期中段考试总结
- English学习经典视频
- Types of light 光照类型 光照系列4
- SIGHUP信号相关
- Unity中的异步编程【1】—— Unity与async 、 await
- wcp知识库系统的安装
- QS电子计算机世界排名,莱斯大学电子计算机世界排名