给出2个N * N的矩阵M1和M2,输出2个矩阵相乘后的结果。

Input第1行:1个数N,表示矩阵的大小(2 <= N <= 100) 
第2 - N + 1行,每行N个数,对应M1的1行(0 <= M1ii <= 1000) 
第N + 2 - 2N + 1行,每行N个数,对应M2的1行(0 <= M2ii <= 1000)Output输出共N行,每行N个数,对应M1 * M2的结果的一行。Sample Input

2
1 0
0 1
0 1
1 0

Sample Output

0 1
1 0

离散里面学到了Warshall算法

也不管简便不简便就直接用了

不过这个算法是用来算传递闭包的,稍微改造了下

列如:

0 0 1     0 0 1

1 0 0     1 0 1

0 1 0     0 1 1 相乘

则先检索第一个数组里的第一竖列 即arr1[i][1]  i递增 看此位置是否是1

先假设arr【1】【1】为第一行,,第一列

  此图中 i为2时arr1[2][1]为1,即(2,1),

  根据传递性,在第二个数组中寻找( 1,x)位置为1的元素

   即x=3 ,arr2[1][3]为1,(2,1)(1,3)则传递为(2,3)

  于是将arr3空数组中位置为2,3的元素置1,然后再检索第二竖列

,以此类推

         0 0 1     0 0 1

1 0 0     1 0 1

0 1 0     0 1 1

   (3,2)->(2,1),(2,3)传递成(3,1)(3,3),将arr3[][]对应位置置1。。。。。

此代码将检索1改为检索是否为0

将arr3【】【】中传递的来的元素累加成传递前两个数的乘积

#include <iostream>
#include <cstdio>
int arr1 [1010][1010];
int arr2 [1010][1010];
int arr3 [1010][1010];int main() {int n,a;scanf("%d",&n);for(int i=1;i<=n;i++)       //传值for(int x=1;x<=n;x++){scanf("%d",&a);arr1[i][x]=a;}for(int i=1;i<=n;i++)for(int x=1;x<=n;x++){scanf("%d",&a);arr2[i][x]=a;}for(int i=1;i<=n;i++)    for(int x=1;x<=n;x++)//第x行,i列,先检索行{if(arr1[x][i]!=0)//找到不为0的数arr【x】【i】{for(int z=1;z<=n;z++)  //寻找arr【i】【】{if(arr2[i][z]!=0)    //找到arr【i】【z】{arr3[x][z]+=arr1[x][i]*arr2[i][z];//累加}}} }for(int i=1;i<=n;i++)   //输出{for(int x=1;x<=n;x++){if(x!=n)printf("%d ",arr3[i][x]);elseprintf("%d",arr3[i][x]);}printf("\n");} return 0;}

O-矩阵相乘-Warshall算法详解相关推荐

  1. python数组对应元素相乘_python的几种矩阵相乘的公式详解

    1. 同线性代数中矩阵乘法的定义: np.dot() np.dot(A, B):对于二维矩阵,计算真正意义上的矩阵乘积,同线性代数中矩阵乘法的定义.对于一维矩阵,计算两者的内积.见如下Python代码 ...

  2. python3两个三阶矩阵相乘公式_python的几种矩阵相乘的公式详解

    1. 同线性代数中矩阵乘法的定义: np.dot() np.dot(A, B):对于二维矩阵,计算真正意义上的矩阵乘积,同线性代数中矩阵乘法的定义.对于一维矩阵,计算两者的内积.见如下Python代码 ...

  3. 数据结构与算法详解目录

    数据结构与算法详解是一本以实例和实践为主的图书,主要是经典的数据结构与常见算法案例,来自历年考研.软考等考题,有算法思路和完整的代码,最后提供了C语言调试技术的方法. 后续配套微课视频. 第0章  基 ...

  4. SoftPool算法详解

    Refining activation downsampling with SoftPool-论文链接-代码链接 目录 1.需求解读 2.SoftPool算法简介 3.SoftPool算法详解 3.1 ...

  5. 隐马尔可夫模型之Baum-Welch算法详解

    隐马尔可夫模型之Baum-Welch算法详解 前言 在上篇博文中,我们学习了隐马尔可夫模型的概率计算问题和预测问题,但正当要准备理解学习问题时,发现学习问题中需要EM算法的相关知识,因此,上一周转而学 ...

  6. 推荐系统简介+算法详解+项目介绍

    目录标题 推荐系统简介 1.推荐系统目的 2.推荐系统的应用 3.推荐系统的基本思想 4.推荐系统的数据分析 5.推荐系统的分类 6.推荐算法简介 6.1 基于人口统计学的推荐算法(基于用户数据) 6 ...

  7. PnP算法详解(超详细公式推导)

    PnP算法详解 PnP概述 PnP数学模型 PnP求解方法 DLT直接线性变换法 EPnP EPnP的特点 步骤 理论推倒 1.控制点及齐次重心坐标系 2.控制点的选择 3.计算控制点在相机坐标系下的 ...

  8. Matlab人脸检测算法详解

    这是一个Matlab人脸检测算法详解 前言 人脸检测结果 算法详解 源代码解析 所调用函数解析 bwlabel(BW,n) regionprops rectangle 总结 前言 目前主流的人脸检测与 ...

  9. 操作系统之银行家算法—详解流程及案例数据

    操作系统之进程调度--优先权法和轮转法(附上样例讲解) 操作系统之银行家算法-详解流程及案例数据 操作系统之多线程编程-读者优先/写者优先详解 操作系统之存储管理--FIFO算法和LRU算法 操作系统 ...

最新文章

  1. (0046) iOS开发之View的frame和bounds之解惑
  2. 如何判断map为空_在Java中如何优雅地判空
  3. 十大场景带你玩转外国
  4. BAP存储属性的思想
  5. Apache日志Shell分析
  6. 小议如何跳出魔改网络结构的火坑
  7. 精度P,召回率R和F值
  8. AngularJS日期格式化
  9. UE4之设置打包程序分辨率
  10. linux 烧录树莓派镜像,Linux命令行烧录树莓派镜像至SD卡
  11. 大恒水星相机硬触发测试
  12. SM3算法 (python)
  13. matlab线性平面映射求通项_MATLAB数学建模必备算法--层次分析法AHP
  14. 电脑ATX电源接口定义详解
  15. 关于路由器和交换机的区别图解(总结)
  16. 乘大潮而崛起,浪潮云洲大有可为
  17. oracle dba_hist_sql,从dba_hist_sqlstat视图中查找过去时段最占用资源的会话
  18. Android 字体引入
  19. linux删除svn版本库
  20. element-UI 图标点击切换

热门文章

  1. jQuery动画效果animate和scrollTop结合使用实例
  2. 转 五种提高 SQL 性能的方法
  3. CCF202109-1 数组推导(100分)【序列处理】
  4. Bailian2795 金银岛【背包+贪心】
  5. UVA11173 Grey Codes【位操作】
  6. UVA10945 Mother bear【Ad Hoc】
  7. HDU2569 彼岸【打表+记忆化递归】
  8. 代码健壮性 —— 边界条件的判断
  9. 中英文对照 —— 英语语法与文法概念
  10. 工具类与工具函数 —— fatal.h