【华为OJ】【算法总篇章】


【华为OJ】【042-矩阵乘法】

【工程下载】


题目描述

如果A是个x行y列的矩阵,B是个y行z列的矩阵,把A和B相乘,其结果将是另一个x行z列的矩阵C。
这个矩阵的每个元素是由下面的公式决定的:原型:
voidmatrix_multiply(int *m1,int *m2,int *r, int x, int y, int z);
输入参数:int *m1:x行y列的矩阵(array1[x][y])int *m2:y行z列的矩阵(array2[y][z])int x:矩阵m1的行数int y:矩阵m1的列数/矩阵m2的行数int z:矩阵m2的列数
输出参数:int *r:矩阵m1, m2相乘的结果(array3[x][z])
返回值:void

输入描述

输入说明:
1、第一个矩阵的行数
2、第一个矩阵的列数和第二个矩阵的行数
3、第二个矩阵的列数
4、第一个矩阵的值
5、第二个矩阵的值

输出描述

输出两个矩阵相乘的结果

输入例子

2
2
2
3 8
8 0
9 0
18 9

输出例子

171 72
72 0

算法实现

import java.util.Scanner;/*** Author: 王俊超* Date: 2015-12-24 20:37* Declaration: All Rights Reserved !!!*/
public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);
//        Scanner scanner = new Scanner(Main.class.getClassLoader().getResourceAsStream("data.txt"));while (scanner.hasNext()) {int x = scanner.nextInt();int y = scanner.nextInt();int z = scanner.nextInt();int[][] a = new int[x][y];int[][] b = new int[y][z];for(int i = 0; i < x; i++) {for (int j = 0; j < y; j++) {a[i][j] = scanner.nextInt();}}for(int i = 0; i < y; i++) {for (int j = 0; j < z; j++) {b[i][j] = scanner.nextInt();}}System.out.println(matrixMultiply(a, b));}scanner.close();}private static String matrixMultiply(int[][] a, int[][] b) {StringBuilder builder = new StringBuilder();for (int i = 0; i < a.length; i++) {for (int j = 0; j < b[0].length; j++) {int result = 0;for (int k = 0; k < a[0].length; k++) {result += a[i][k] * b[k][j];}builder.append(result).append(' ');}builder.setCharAt(builder.length() - 1, '\n');}return builder.substring(0, builder.length() - 1);}
}

【华为OJ】【042-矩阵乘法】相关推荐

  1. C语言无符号双字节乘法,华为OJ机试标题:两个大整数相乘(纯C语言实现两个大整数相乘,两种方法实现大数相乘)...

    华为OJ机试题目:两个大整数相乘(纯C语言实现两个大整数相乘,两种方法实现大数相乘) 题目描述: 输出两个不超过100位的大整数的乘积. 输入: 输入两个大整数,如1234567 123 输出: 输出 ...

  2. 循环相乘取整法C语言,华为OJ机试题目:两个大整数相乘(纯C语言实现两个大整数相乘,两种方法实现大数相乘)...

    题目描述: 输出两个不超过100位的大整数的乘积. 输入: 输入两个大整数,如1234567 123 输出: 输出乘积,如:151851741 样例输入: 1234567 123 样例输出: 1518 ...

  3. CUDA: 矩阵乘法优化

    矩阵乘法是有实用价值的程序,我们会使用浮点数. 虽然矩阵乘法有点老套,不过因为它相当简单,而且也可以用来介绍一些有关 CUDA 的有趣性质. 矩阵乘法 为了单纯起见,我们这里以方形的矩阵为例子.基本上 ...

  4. OpenBLAS项目与矩阵乘法优化 | AI 研习社

    提起矩阵计算,学过<高等数学>的人可能都听过,但若不是这个领域的研究者,恐怕也只停在"听过"的程度.在矩阵计算领域,开源项目OpenBLAS影响巨大,除IBM.华为等巨 ...

  5. 矩阵乘法——CUDA 优化记录

    CUDA 是 NVIDIA 的 GPGPU 模型,它使用 C 语言为基础,可以直接以大多数人熟悉的 C 语言,写出在显示芯片上执行的程序,而不需要去学习特定的显示芯片的指令或是特殊的结构." ...

  6. 如何在CPU上优化GEMM矩阵乘法

    如何在CPU上优化GEMM矩阵乘法 How to optimize GEMM on CPU (TL;DR) TVM 提供抽象接口,允许用户分别描述算法和算法的实现组织(所谓的调度).通常,在高性能调度 ...

  7. CPU的自动调度矩阵乘法

    CPU的自动调度矩阵乘法 这是一个有关如何对CPU使用自动调度程序的文档. 与依靠手动模板定义搜索空间的基于模板的autotvm不同,自动调度程序不需要任何模板.用户只需要编写计算声明,而无需任何调度 ...

  8. 十个利用矩阵乘法解决的经典题目

    出自matrix67.com 好像目前还没有这方面题目的总结.这几天连续看到四个问这类题目的人,今天在这里简单写一下.这里我们不介绍其它有关矩阵的知识,只介绍矩阵乘法和相关性质.     不要以为数学 ...

  9. [学习笔记]矩阵乘法及其优化dp

    1.定义: $c[i][j]=\sum a[i][k]\times b[k][j]$ 所以矩阵乘法有条件,(n*m)*(m*p)=n*p 即第一个矩阵的列数等于第二个矩阵的行数,否则没有意义. 2.结 ...

最新文章

  1. easybcd安装Ubuntu
  2. 网站开发之MyEclipse简单实现JSP网页表单提交及传递值
  3. 美图秀秀 sig参数分析
  4. mysql表结构设计_表结构设计
  5. 出现23.97帧率的原因
  6. MyEclipse/Eclipse 中使用javap
  7. UI设计师必备的技能|找灵感
  8. iPhone企业应用实例分析之一:系统介绍和需求及主要用例
  9. Ubuntu14.04上安装Jupyter的方法
  10. UWP 手绘视频创作工具技术分享系列 - 全新的 UWP 来画视频
  11. k3刷梅林5g信号不稳定_斐讯k3 5g信号不稳定 k3c路由器,现在还能入手吗?
  12. 那些设计出来就不希望别人看懂的C代码——IOCCC国际模糊C代码大赛
  13. 夏普Sharp AR-6120N 一体机驱动
  14. python语言程序设计袁方答案_北邮“爱课堂”教学平台
  15. 猜拳java,猜拳小游戏(Java代码实现)
  16. uniapp使用逍遥模拟器调试项目
  17. Apache Calcite 简介
  18. 微信返利机器人开发制作
  19. android view 曝光,Android 曝光采集(商品view曝光量的统计)第二弹
  20. 用Python爬取城市天气预报信息并进行图片复刻

热门文章

  1. [C#]SignalR实现扫码登录(B/S,C/S)
  2. navigationController.navigationBar.hiden 导航栏隐藏引发的坐标自动变更
  3. 每日十道面试题(五)
  4. 实践中如何优化MySQL
  5. 小红书什么内容容易火?
  6. redis持久化--AOF(九)
  7. 一秒钟快速在PPT里插入100张图片
  8. 计算机农业sci,科学网—SCI-EI收录农业工程期刊 - 王宝济的博文
  9. 在SDLC中使用静态代码分析的最佳实践
  10. 关于去除CSDN上图片的默认水印