矩阵乘法

Time Limit:1000MS  Memory Limit:65536K

Total Submit:19 Accepted:7

Description

矩阵乘法是线性代数中最基本的运算之一。 

给定三个矩阵 A\B\C 请编写程序判断A*B = C 是否成立。

Input

输入包含多组数据。每组数据的格式如下: 

第一行包括两个整数p 和q,表示矩阵A 的大小。后继p 行,每行有q 个整数,表示矩阵A 

的元素内容。 

紧接着用相同的格式给出矩阵B 和矩阵C。 

输入数据的最后一行是两个0,你的程序处理到这里时就应该退出了。 

输入数据中所有的整数绝对值都不超过100。

Output

对每一组输入数据,你的程序都要输出单独一行字符。 

如果 A*B=C成立则输出”Yes” 

如果 A 和B 根本不能相乘,或A*B=C不成立,则输出”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

Sample Output

Yes
No
No

Hint

此题考察线性代数基本概念,请参阅线性代数教材。

Source

2009中科大ACM校赛-普及版

[Submit]  
[Go Back]   [Status]  
[Discuss]

#include <stdio.h>
#include <string.h>
#define MAXN 101 int a[MAXN][MAXN], b[MAXN][MAXN], c[MAXN][MAXN], d[MAXN][MAXN]; int main()
{
int i, j, m, n, x, y, u, v, p;
while ( ~scanf("%d%d", &m, &n))
{
if ( m == 0 && n == 0 ) break;
for ( i=0; i<m; i++ ) {
for ( j=0; j<n; j++ ) {
scanf("%d", &a[i][j]);
}
}
scanf("%d%d", &x, &y);
for ( i=0; i<x; i++ ) {
for ( j=0; j<y; j++ ) {
scanf("%d", &b[i][j]);
}
}
scanf("%d%d", &u, &v);
for ( i=0; i<u; i++ ) {
for ( j=0; j<v; j++ ) {
scanf("%d", &c[i][j]);
}
}
if ( n != x || m != u || v != y ) {
puts("No");
}
else { for ( i=0; i<u; i++ ) {
for ( j=0; j<v; j++ ) {
d[i][j] = 0;
for ( p=0; p<n; p++ ) {
d[i][j] += a[i][p] * b[p][j];
}
if ( d[i][j] != c[i][j] ) break;
}
}
if ( i == u && j == v ) puts("Yes");
else puts("No");
}
} return 0;
}

akoj-1055-矩阵乘法的更多相关文章

  1. *HDU2254 矩阵乘法

    奥运 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submissi ...

  2. *HDU 1757 矩阵乘法

    A Simple Math Problem Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Ot ...

  3. CH Round #30 摆花[矩阵乘法]

    摆花 CH Round #30 - 清明欢乐赛 背景及描述 艺术馆门前将摆出许多花,一共有n个位置排成一排,每个位置可以摆花也可以不摆花.有些花如果摆在相邻的位置(隔着一个空的位置不算相邻),就不好看 ...

  4. POJ3070 Fibonacci[矩阵乘法]

    Fibonacci Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 13677   Accepted: 9697 Descri ...

  5. bzoj 2738 矩阵乘法

    其实这题跟矩阵乘法没有任何卵关系,直接整体二分,用二维树状数组维护(刚刚学会>_<),复杂度好像有点爆炸(好像有十几亿不知道是不是算错了),但我们不能怂啊23333. #include&l ...

  6. 【BZOJ-2476】战场的数目 矩阵乘法 + 递推

    2476: 战场的数目 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 58  Solved: 38[Submit][Status][Discuss] D ...

  7. 【BZOJ-1898】Swamp 沼泽鳄鱼 矩阵乘法

    1898: [Zjoi2005]Swamp 沼泽鳄鱼 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 1012  Solved: 566[Submit][S ...

  8. 【Codeforces718C】Sasha and Array 线段树 + 矩阵乘法

    C. Sasha and Array time limit per test:5 seconds memory limit per test:256 megabytes input:standard ...

  9. 矩阵乘法的MapReduce实现

    对于任意矩阵M和N,若矩阵M的列数等于矩阵N的行数,则记M和N的乘积为P=M*N,其中mik 记做矩阵M的第i行和第k列,nkj记做矩阵N的第k行和第j列,则矩阵P中,第i行第j列的元素可表示为公式( ...

  10. 矩阵乘法&矩阵快速幂&矩阵快速幂解决线性递推式

    矩阵乘法,顾名思义矩阵与矩阵相乘, 两矩阵可相乘的前提:第一个矩阵的行与第二个矩阵的列相等 相乘原则: a b     *     A B   =   a*A+b*C  a*c+b*D c d     ...

随机推荐

  1. PHP加密字符串函数(Discuz内置的)

    接触Discuz有一段时间了,一直很喜欢这个论坛程序,确实是一个很不错的程序,灰常值得我们去学习,这里介绍它其中的一个加密函数(含解密)这个加密函数的特点在于,比普通的加密函数多了一个随机密钥 ,可以 ...

  2. cache 和 buffer的区别

    cache 和 buffer的区别: Cache:高速缓存,是位于CPU与主内存间的一种容量较小但速度很高的存储器.由于CPU的速度远高于主内存, CPU直接从内存中存取数据要等待一定时间周期,Cac ...

  3. 【LeetCode】306. Additive Number

    题目: Additive number is a string whose digits can form additive sequence. A valid additive sequence s ...

  4. 使用 sitemesh/decorator装饰器装饰jsp页面(原理及详细配置)

    摘要:首先这个Decorator解释一下这个单词:“装饰器”,我觉得其实可以这样理解,他就像我们用到的Frame,他把每个页面共有的东西提炼了出来,也可能我们也会用各种各样的include标签,将我们 ...

  5. Openfire插件开发图解

    概述 Openfire插件开发是Openfire的精髓之一,支持插件热插拔,还可以方便的在web端进行管理插件.插件分为两种,一种是以服务为主的控制台插件,一种是包括页面或对外开放Servlet接口. ...

  6. SharePoint 2016 安装配置流程及需要注意的地方

    1. 安装域, 安装后创建一个用户用于之后的安装配置, 例如 SPAdmin@XXXXX.com 2. 安装sql server 2016 将要安装sql server 的服务器加入域,   并将域账 ...

  7. Elasticsearch学习随笔(一)--原理理解与5.0核心插件部署过程

    最近由于要涉及一些安全运维的工作,最近在研究Elasticsearch,为ELK做相关的准备.于是把自己学习的一些随笔分享给大家,进行学习,在部署常用插件的时候由于是5.0版本的Elasticsear ...

  8. 算法起步之kmp算法

    [作者Idlear  博客:http://blog.csdn.net/idlear/article/details/19555905]            这估计是算法连载文章的最后几篇了,马上就要 ...

  9. Kindeditor编辑插件的使用

    1.首先kindeditor这个插件需要配合着asp.net的自生带的控件textbox来实现 2.首先前台界面代码 <f:FormRow runat="server"> ...

  10. 华为OJ之自动售货系统

    本题主要难点有两部分: 1,找零算法.如何找零应该是最具技巧性的部分,根据已有的硬币金额分布,对应的解决办法可能会有不同.本题中的1,2,5,10这种情况满足贪心性质,故我们简单的用贪心算法的思想来解 ...