矩阵乘法

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. 在Cenos系统安装Python3.5版本,使P2和P3共存

    首先Cenos安装好后,系统自带python2.6版本 输入>>>exit()     退出 使用迅雷下载python3.5 链接:https://www.python.org/ft ...

  2. 【LeetCode】306. Additive Number

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

  3. kindeditor使用入门-张国红

    kindeditor是在线编辑器,比较好用,以下是使用这个插件的步骤. 下载kindeditor-4.1.10.zip 解压 asp,asp.net,php对于jsp开发没有用,可以删除 新建web工 ...

  4. Java 中基本类型和字符串之间的转换

    Java 中基本类型和字符串之间的转换 在程序开发中,我们经常需要在基本数据类型和字符串之间进行转换. 其中,基本类型转换为字符串有三种方法: 1. 使用包装类的 toString() 方法 2. 使 ...

  5. 极客圈(一)树莓派3B协同Python打造个性化天气闹钟

    人生苦短,我用Python~ 一直想自己折腾些极客的东西出来,供自己使用或者是供他人使用.一则可能对自己的生活是一种帮助,二则是对自己技能的提高,三则显得高大上,一直努力,一直提高,一直Happy!~ ...

  6. EBS系统启动&停止&增加表空间&替换首页图片

    EBS系统启动&停止&增加表空间&替换首页图片 数据库启动 使用oraprod账号登陆 [root@htdb data]# su oraprod [oraprod@htdb d ...

  7. Java通过Axis2发布WebService

    参考文档: http://blog.csdn.net/ghsau/article/details/12714965 http://www.iteye.com/topic/1135747 http:// ...

  8. # nodejs模块学习: express 解析

    # nodejs模块学习: express 解析 nodejs 发展很快,从 npm 上面的包托管数量就可以看出来.不过从另一方面来看,也是反映了 nodejs 的基础不稳固,需要开发者创造大量的轮子 ...

  9. 初学c语言

    虽然有一点点基础,但是还是从头学吧,这一周也就一些c语言的几个代码代表的意思和一个Hello world的程序. #include是头文件名,<>这是要返回的函数类型,然后是main主函数 ...

  10. PHP运算符知识点

    表达式 几乎所写的任何东西都是一个表达式,简单却最精确的定义一个表达式的方式就是"任何有值的东西". 算术运算符 Php中常用的有:+.-.*./.%(取模,得到余数) 左+ - ...