问题描述
输入两个矩阵,分别是m*s,s*n大小。输出两个矩阵相乘的结果。
输入格式
第一行,空格隔开的三个正整数m,s,n(均不超过200)。
接下来m行,每行s个空格隔开的整数,表示矩阵A(i,j)。
接下来s行,每行n个空格隔开的整数,表示矩阵B(i,j)。
输出格式
m行,每行n个空格隔开的整数,输出相乘後的矩阵C(i,j)的值。
样例输入
2 3 2
1 0 -1
1 1 -3
0 3
1 2
3 1
样例输出
-3 2
-8 2
提示
矩阵C应该是m行n列,其中C(i,j)等于矩阵A第i行行向量与矩阵B第j列列向量的内积。
例如样例中C(1,1)=(1,0,-1)*(0,1,3) = 1 * 0 +0*1+(-1)*3=-3
编译器很诡异。之前一直非满分,因为数组规格太小,刚刚定义的m*s,s*n,m*n大小,题目要求:msn每个大小不超过200,索性直接将数组规模都改为了300——总之,规模要比预期的大一些才好。
#include
int main(){
int m,s,n;
/*输入m,s,n*/
scanf("%d%d%d",&m,&s,&n);
/*定义三个二维数组,并赋初值为0*/
int A[][]={},B[][]={},C[][]={};
/*录入A[m][s]*/
for(int i=;i
for(int j=;j
scanf("%d",&A[i][j]);
}
}
/*录入B[s][n]*/
for(int i=;i
for(int j=;j
scanf("%d",&B[i][j]);
}
}
/*乘法计算,输出结果*/
for(int i=;i
for(int j=;j
for(int z=;z
C[i][j] += A[i][z]*B[z][j];
}
for(int i=;i
for(int j=;j
printf("%d ",C[i][j]);
printf("\n");
}
}
C语言 · 矩阵相乘 · 算法提高
算法提高 矩阵相乘 时间限制:1.0s 内存限制:256.0MB 问题描述 小明最近在为线性代数而头疼,线性代数确实很抽象(也很无聊),可惜他的老师正在讲这矩阵乘法这一段内容. 当然 ...
C语言 · 数字三角形 · 算法训练
问题描述 (图3.1-1)示出了一个数字三角形. 请编一个程序计算从顶至底的某处的一条路 径,使该路径所经过的数字的总和最大. ●每一步可沿左斜线向下或右斜线向下走: ●1
C语言 · 矩阵乘法
问题描述 输入两个矩阵,分别是m*s,s*n大小.输出两个矩阵相乘的结果. 输入格式 第一行,空格隔开的三个正整数m,s,n(均不超过200). 接下来m行,每行s个空格隔开的整数,表示矩阵A(i,j ...
《算法导论》——矩阵乘法的Strassen算法
前言: 很多朋友看到我写的系列,可能会觉得云里雾里,不知所云.这里我再次说明,本系列博文时配合一书,给出该书涉及的算法的c++实现.请结合
【甘道夫】MapReduce实现矩阵乘法--实现代码
之前写了一篇分析MapReduce实现矩阵乘法算法的文章: [甘道夫]Mapreduce实现矩阵乘法的算法思路 为了让大家更直观的了解程序运行,今天编写了实现代码供大家參考. 编程环境: java v ...
蓝桥杯 算法训练 ALGO-60 矩阵乘法
算法训练 矩阵乘方 时间限制:1.0s 内存限制:512.0MB 问题描述 给定一个矩阵A,一个非负整数b和一个正整数m,求A的b次方除m的余数. 其中一个nxn的矩阵除m的余数得到的仍是一个 ...
Java实现 蓝桥杯 算法训练 矩阵乘法
算法训练 矩阵乘法 时间限制:1.0s 内存限制:512.0MB 提交此题 问题描述 输入两个矩阵,分别是ms,sn大小.输出两个矩阵相乘的结果. 输入格式 第一行,空格隔开的三个正整数m,s,n(均 ...
第四章 分治策略 4.2 矩阵乘法的Strassen算法
package chap04_Divide_And_Conquer; import static org.junit.Assert.*; import java.util.Arrays; import ...
4-2.矩阵乘法的Strassen算法详解
题目描述 请编程实现矩阵乘法,并考虑当矩阵规模较大时的优化方法. 思路分析 根据wikipedia上的介绍:两个矩阵的乘法仅当第一个矩阵B的列数和另一个矩阵A的行数相等时才能定义.如A是m×n矩阵和B ...
随机推荐
c# asp.net4.0尚未在web服务器上注册
辗转无数论坛,感谢http://bbs.csdn.net/topics/390992746 microsoft官方文档: https://blogs.msdn.microsoft.com/webdev ...
KinectV2+Ubuntu 14.04+Ros 安装教程
前言 个人理解错误的地方还请不吝赐教,转载请标明出处,内容如有改动更新,请看原博:http://www.cnblogs.com/hitcm/ 如有任何问题,feel free to contact m ...
ASP.NET MVC使用过滤器进行权限控制
1.新建MVC项目 2.找到Models文件夹,新建 LoginCheckFilterAttribute 类 public class LoginCheckFilterAttribute : Acti ...
LoadRunner 脚本学习 -- 随机函数运用
直接上码 Action() { int randnum; randnum = rand()%+; lr_output_message("随机得到的数是:%d", randnum); ...
C++基础内容复习
下列语句定义了5个变量: int count; double sales_price,sum; std::string title; Sales_item bookItem; 每个定义都是以类型说明符 ...
iOS 进阶 第十天(0410)
0410 在tableViewCell之间添加一根线,通栏 iOS应用数据存储的常用方式 plist存储文件 plist读取文件 下面是plist存储读取的图解: 注意:plist只能存储常见的属性. ...
android短信的接收和发送处理
一 初始化 手机开机初始化调用GSMPhone 构造函数. GSMPhone (Context context, CommandsInterface ci, PhoneNotifier notifie ...
php 常用的好函数(持续更新)
parse_url parse_url $url = "http://www.electrictoolbox.com/php-extract-domain-from-full-url/&qu ...
NGUI如何创建自己的精灵图集
说实话其实很简单,但是在不知道的情况下真的不好弄啊. 1. 选择你要制作精灵图集的图片,可以选择多张 2. 提倡使用快捷键Alt + Shift + M 会有如下窗口弹出,也可以NGUI --> ...
KETTLE使用入门
一.准备文件 1.安装java虚拟机 2.安装kettle安装文件 二.使用步骤 1.点击Spoon.bat,启动kettle,弹出DOS窗口如下: 2.进入主界面 3.新建资源库