当前位置: 首页 > news >正文

XTU OJ 1146 矩阵乘法学习笔记

原题

题目描述

给你两个矩阵A(n*k),B(k*m),请求A*B。

输入

第一行是一个整数K,表示样例的个数。 每个样例包含两个矩阵A和B。 每个矩阵的第一行是两个整数n,m,(1≤n,m≤10)表示矩阵的行和列 以后的n行,每行m个整数,每个整数的绝对值不超过100。输入保证A和B是可乘的。

输出

输出每个样例的结果矩阵,矩阵的整数之间用一个空格隔开,行尾无空格。

样例输入
2
2 2
1 1
1 1
2 1
1
1
2 2
1 1
1 1
2 2
1 1
1 0
样例输出
2
2
2 1
2 1

原题链接

传送门 

代码

#include<bits/stdc++.h>
using namespace std;const int N=20;
int a[N][N],b[N][N],c[N][N];int main()
{int t;scanf("%d",&t);while(t--){int n,k,l,m;scanf("%d%d",&n,&k);for(int i=0;i<n;i++){for(int j=0;j<k;j++){scanf("%d",&a[i][j]);}}scanf("%d%d",&l,&m);for(int i=0;i<l;i++){for(int j=0;j<m;j++){scanf("%d",&b[i][j]);}}for(int i=0;i<n;i++){for(int j=0;j<m;j++){c[i][j]=0;for(int h=0;h<k;h++){c[i][j]+=a[i][h]*b[h][j];}printf("%d",c[i][j]);if(j!=m-1)	printf(" ");}printf("\n");}}return 0;
}

总结

1.矩阵乘法是啥对我来说可能是这道题最大的难点,矩阵乘法,简单来说,给定两个矩阵,第一个矩阵的列数和第二个矩阵的行数相等,两个矩阵相乘的结果是,一个新的矩阵,新的矩阵行数和第一个矩阵相等,列数和第二个矩阵相等,比如一个2行3列的矩阵,乘以一个3行2列的矩阵,答案是一个2行2列的矩阵,答案矩阵的第一行第一个元素是,第一个矩阵第一行的所有元素和第二个矩阵第一列的所有元素逐项相乘并求和,答案矩阵第一行第二个元素是,第一个矩阵第一行所有元素和第二个矩阵第二列所有元素逐项相乘并求和 

2.题目保证了第一个矩阵的列数等于第二个矩阵的行数

3.行尾没有空格,注意判断每一行最后一个元素的数组下标

4.每一次使用c数组都需要初始化,防止前一次循环对当前循环产生影响

5.(有时候感觉一摸一样的代码难以ac,重新敲一遍可以通过,算是一个魔咒还是因为啥原原因……)

 

http://www.lryc.cn/news/242526.html

相关文章:

  • 基于官方YOLOv4开发构建目标检测模型超详细实战教程【以自建缺陷检测数据集为例】
  • 1、Docker概述与安装
  • 论文笔记——FasterNet
  • 计算机组成原理-固态硬盘SSD
  • Electron+VUE3开发简版的编辑器【文件预览】
  • docker、elasticsearch8、springboot3集成备忘
  • 【Lombok使用详解】
  • Tars框架 Tars-Go 学习
  • 基于JAVA+SpringBoot+VUE+微信小程序的前后端分离咖啡小程序
  • 2015年全国硕士研究生入学统一考试管理类专业学位联考数学试题——解析版
  • 优秀软件设计特征与原则
  • 设备管理系统-设备管理软件
  • 物联网AI MicroPython学习之语法 I2S音频总线接口
  • Day31| Leetcode 455. 分发饼干 Leetcode 376. 摆动序列 Leetcode 53. 最大子数组和
  • 基于C#实现赫夫曼树
  • Android 13.0 app进程保活白名单功能实现
  • 查找学习笔记
  • Qt QIODevice介绍
  • python -opencv 中值滤波 ,均值滤波,高斯滤波实战
  • 【教学类-06-07】20231124 (55格版)X-X之间的加法、减法、加减混合题
  • postgresql经常出现连接一会后服务器拒绝连接
  • 迈巴赫S480升级主动式氛围灯 浪漫婉转的气氛
  • Leetcode103 二叉树的锯齿形层序遍历
  • 可观测性建设实践之 - 日志分析的权衡取舍
  • Ceres使用
  • 深度学习第1天:深度学习入门-Keras与典型神经网络结构
  • 青云科技容器平台与星辰天合存储产品完成兼容性互认证
  • 谈谈基于Redis的分布式锁
  • 逸学java【初级菜鸟篇】10.I/O(输入/输出)
  • 【Python进阶笔记】md文档笔记第6篇:Python进程和多线程使用(图文和代码)