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

2 31 1 11 1 13 31 2 34 5 67 8 93 10000 0

Sample Output

12 15 1812 15 1800

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相关推荐

  1. 问题 K: Sequence Problem (III) : Array Practice

    题目描述 整数序列是一串按特定顺序排列的整数,整数序列的长度是序列中整数的个数,不可定义长度为负数的整数序列. 两整数序列A.B的和定义为一个新的整数序列C,序列C的长度是A.B两者中较长的一个,序列 ...

  2. Problem F: 结构体--学生信息排序

    Problem F: 结构体–学生信息排序 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 378 Solved: 192 [Submit][Status ...

  3. Problem F: 乌鸦坐飞机

    Problem F: 乌鸦坐飞机 Time Limit: 2 Sec   Memory Limit: 128 MB Submit: 110   Solved: 9 [ Submit][ Status] ...

  4. Problem F: 平面上的点——Point类 (VI)

    Problem F: 平面上的点--Point类 (VI) Time Limit: 1 Sec   Memory Limit: 4 MB Submit: 6636   Solved: 3048 [ S ...

  5. [山东科技大学OJ]1376 Problem F: 编写函数:数组的排序 (Append Code)

    Time Limit: 1 Sec Memory Limit: 16 MB Submit: 18648 Solved: 9472 [Submit][Status] Description 输入一组整数 ...

  6. 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 ...

  7. 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 ...

  8. 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 ...

  9. Matrix Problem

    Matrix Problem 题意: 给你一个n * m的二维数据c,c的每个元素值为0或1 现在要求你构造同样大小的数组a和b,要求c[i][j] =='1'的话,a[i][j] = b[i][j] ...

最新文章

  1. 产品经理岗位职责说明_公司销售经理岗位职责说明书
  2. iOS - 内购_类型
  3. C#中判断空字符串的3种方法性能分析
  4. ElasticSearch vs Solr多维度分析对比
  5. 虚拟机禅道服务器ip,Linux系统(虚拟机)安装禅道
  6. Jboss jar包冲突及jar加载顺序
  7. @transactional 可以定义到controller_仿照源码,手写一个自定义 Spring MVC 框架
  8. 【IDEA】IDEA怎么汉化汉化后怎么转回英文
  9. python源码中明明没有逻辑代码 为什么还能执行呢
  10. 计算机学拼音打字,拼音打字练习
  11. 网络广告的效果测定与评估
  12. Python猜数字游戏(包含异常处理,可自定义随机数产生范围、最大猜测次数,如果用户猜错的话可根据输入情况缩小猜测范围)
  13. windows下安装设置redis
  14. 计算机课代表中段考总结,第一学期中段考试总结
  15. English学习经典视频
  16. Types of light 光照类型 光照系列4
  17. SIGHUP信号相关
  18. Unity中的异步编程【1】—— Unity与async 、 await
  19. wcp知识库系统的安装
  20. QS电子计算机世界排名,莱斯大学电子计算机世界排名

热门文章

  1. 哈尔滨工业大学计算机考研资料汇总
  2. 【鸿蒙】HiSpark Wifi IOT开发板资料汇总
  3. java 数组声明并初始化_Java数组的声明与初始化
  4. android商户扫码枪读取手机二维码
  5. ffmypeg 视频处理类库使用方法
  6. 变量与指针、取值符与取地址符
  7. 知识付费海哥:知识变现三剑客
  8. 『每日AI』马化腾丨中国互联网已从C2C进化为KFC!
  9. ITRON的内存管理,中断处理,时钟管理
  10. 每次阅读外文技术资料都头疼,终于知道原因了。