华为机试HJ69:矩阵乘法
作者:翟天保Steven
版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处
题目描述:
如果A是个x行y列的矩阵,B是个y行z列的矩阵,把A和B相乘,其结果将是另一个x行z列的矩阵C。这个矩阵的每个元素是由下面的公式决定的
矩阵的大小不超过100*100
输入描述:
输入包含多组数据,每组数据包含:
第一行包含一个正整数x,代表第一个矩阵的行数
第二行包含一个正整数y,代表第一个矩阵的列数和第二个矩阵的行数
第三行包含一个正整数z,代表第二个矩阵的列数
之后x行,每行y个整数,代表第一个矩阵的值
之后y行,每行z个整数,代表第二个矩阵的值
输出描述:
对于每组输入数据,输出x行,每行z个整数,代表两个矩阵相乘的结果
示例:
输入:
2 3 2 1 2 3 3 2 1 1 2 2 1 3 3
输出:
14 13 10 11
说明:
1 2 3 3 2 1 乘以 1 2 2 1 3 3 等于 14 13 10 11
解题思路:
本题是通过数组实现矩阵计算。按照给定的行列分别定义好A和B两个矩阵的尺寸,并完成赋值;用过calcMatrix函数实现矩阵相乘,每个位置的值是A对应行和B对应列进行点乘的结果,完毕。
测试代码:
#include <iostream>
#include <vector>using namespace std;vector<vector<int>> calcMatrix(vector<vector<int>> A,vector<vector<int>> B,int row,int col)
{vector<vector<int>> R(row,vector<int>(col,0));for(int i=0;i<row;++i){for(int j=0;j<col;++j){int sum=0;for(int m=0,n=0;m<A[i].size(),n<B.size();++m,++n){sum+=A[i][m]*B[n][j];}R[i][j]=sum;}}return R;
}int main()
{int row1,col1,row2,col2;while(cin>>row1>>col1>>col2){row2=col1;vector<vector<int>> A(row1,vector<int>(col1,0));vector<vector<int>> B(row2,vector<int>(col2,0));for(int i=0;i<row1;++i){for(int j=0;j<col1;++j){cin>>A[i][j];}}for(int i=0;i<row2;++i){for(int j=0;j<col2;++j){cin>>B[i][j];}}vector<vector<int>> result=calcMatrix(A,B,row1,col2);for(int i=0;i<row1;++i){for(int j=0;j<col2;++j){cout<<result[i][j]<<" ";}cout<<endl;}}return 0;
}
华为机试HJ69:矩阵乘法相关推荐
- 华为机试 - 最大矩阵和
目录 题目描述 输入描述 输出描述 用例 题目分析 算法实现 题目描述 给定一个二维整数矩阵,要在这个矩阵中选出一个子矩阵,使得这个子矩阵内所有的数字和尽量大,我们把这个子矩阵称为和最大子矩阵,子矩阵 ...
- 牛客在线编程-华为机试-中等
牛客在线编程题目-华为机试-中等 题号 题目 知识点 难度 通过率 HJ16 购物单 动态规划 中等 21.21% HJ17 坐标移动 字符串 中等 24.79% HJ20 密码验证合格程序 数组 字 ...
- 华为机试108题(C 语言解答)
Nowcoder题库链接:华为机试 HJ1 字符串最后一个单词的长度(字符串) 输入:hello nowcoder输出:8说明: 最后一个单词为nowcoder,长度为8 示例代码: HJ1.c #i ...
- 【华为机试 Python实现】华为机试题集合(已更新171篇)
文章目录 新手指引 数据结构基础 华为机试真题系列 牛客网华为机试系列 Python 八股文系列 <华为机试真题详解>专栏定价99.9 包含 <华为机试真题>的所有题目. 包含 ...
- 【强烈推荐收藏】坚持3个月爆肝华为机试108题C++全解(适合新手入门,就业必刷套题)
作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 前言 金九银十,金三银四.当前正处于校招.社招的火热期,之前就想为正在筹备就业的同学们准备刷题宝 ...
- 集合篇10.华为机试(涮题记录2)
华为机试 31.成绩排序(**not) 32. 矩阵乘法 33. 24点游戏算法(not) 34.配置文件恢复 35. 查找两个字符串a.b中的最长公共子串 36.MP3光标位置(not) 37.DN ...
- 【华为机试真题Java】从入门到入职-真题列表导读
写在前面 本专栏有100+道题(持续更新中),都是往期的HW机试真题,根据过往同学的经验基本都会考到原题.大家有什么不懂的都可以留言. 华为机试有三道题目,第一道和第二道属于简单或中等题,分值为100 ...
- 【华为机试】死记硬背没思路?一般人我劝你还是算了吧
大家好,我是哪吒. 五月份之前,如果你参加华为OD机试,收到的应该是2022Q4或2023Q1,这两个都是A卷题. 5月10日之后,很多小伙伴收到的是B卷,那么恭喜你看到本文了,抓紧刷题吧.B卷新题库 ...
- 华为机试在线训练--牛客网(python)第四部分
华为机试在线训练–牛客网(python) 第四部分(31~40) 第三十一题:[中级]单词倒排 题目描述 对字符串中的所有单词进行倒排. 说明: 1.每个单词是以26个大写或小写英文字母构成: 2.非 ...
最新文章
- redis之 centos 6.7 下安装 redis-3.2.5
- 讲解 Zookeeper 的五个核心知识点
- 使用pg_stat_statement监控pgsql遇到的问题
- h计算机二级基础知识题库,计算机二级考试试题
- 使用DFS求任意两点的所有路径
- mysql 日期_Mysql数据库常见函数(下)——日期时间函数
- SQL 快速入门2.1
- java 阻塞 socket_java socket非阻塞I/O
- VS2013/2012 下无法打开 源 文件“stdafx.h”的解决方法
- 【Qt教程】3.1 - Qt5 event事件、Label控件的鼠标事件捕获
- Java基础篇:嵌套 if 语句
- SQL SERVER中隐式转换的一些细节浅析
- java winrar_WinRAR5.60官方无广告正式版
- K33 不是平面图_Edraw Max:一款简单好用的建筑平面图设计软件!
- -------已搬运------BUUCTF:[RootersCTF2019]ImgXweb --- jwt --寻找secret,easy
- java实验:矩形类的定义与封装
- “海纳百川”下载器的使用方法
- 谷歌搜索通告:疫情期间不要关站会影响网站排名
- 智慧出击,浪潮云海为海上风电打个样
- 自从用了企业微信,彻底摆脱表格写工作周报