#include <iostream>
#include <algorithm>
using namespace std;
const int N = 210;
const int INF = 0x3f3f3f3f;int Graph[N][N];//邻接矩阵存储图
int n,m;//n个节点 m条边/*Floyd是用来求多源汇最短路的 基于动态规划*/ void Floyd()
{for(int k = 1; k <= n; k++){for(int i = 1; i <= n; i++){if(INF != Graph[i][k]){for(int j = 1; j <= n; j++){Graph[i][j] = min(Graph[i][j], Graph[i][k] + Graph[k][j]);}}}}
}int main(int argc, char** argv)
{scanf("%d%d",&n, &m);for(int i = 1; i <= n; i++){for(int j = 1; j <= n; j++){if(i != j){//有向图  Graph[i][j] = INF;    }   else{//此题不存在负的自环 Graph[i][j] = 0;}}    }//读取m条边 while(m--){int i,j,w;scanf("%d%d%d",&i, &j, &w);//可能存在重边 记录最小的那个边 Graph[i][j] = min(Graph[i][j],w);}Floyd(); for(int i = 1; i <= n; i++){for(int j = 1; j <= n; j++){printf("%d ",Graph[i][j]);}printf("\n");}return 0;
}

Floyd算法 求多源汇最短路相关推荐

  1. 【最短路径问题笔记】Floyd算法求多源最短路径问题

      代码: 使用邻接矩阵建图 使用邻接矩阵存放最短距离 #include<iostream> #include<cstring> using namespace std; co ...

  2. Floyd算法求最短路

    Floyd算法(基于动态规划):用于求多源汇最短路 初始化:用邻接矩阵d[i,j]存储中所有的边,floyd算法就是三重循环 for(k = 1;k <= n;k ++){ for(i = 1; ...

  3. Floyd算法求无向图最小环

    原理可看菊苣博文:http://www.cnblogs.com/khan724/p/4383686.html 自己代码中解释一些小细节.该算法适用于无向图,而有向图的最小环,实际上就是初始化所有点为i ...

  4. 51nod 1445 变色DNA ( Bellman-Ford算法求单源最短路径)

    1445 变色DNA 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 有一只特别的狼,它在每个夜晚会进行变色,研究发现它可以变成N种颜色之一,将这些颜色标号为0,1 ...

  5. Dijkstra(迪杰斯特拉)算法求单源最短路径问题

    Dijkstra(迪杰斯特拉)算法求单源最短路径问题 重要的事情说三遍:代码不是我写的!代码不是我写的!代码不是我写的! 第一个算法是严蔚敏数据结构(C语言版)上写的,第二个算法是王道数据结构上写的, ...

  6. 【2023王道数据结构】【图】通过C++实现图的BFS(广度优先遍历)算法求单源最短路径问题C、C++完整实现(可直接运行)

    ~~~笔锋至此又怎能平淡而终,故事开始便不承认普通✌✌✌ ✌ 题目及题解持续更新中 [2023王道数据结构目录]课后算法设计题C.C++代码实现完整版大全 题目: 通过C++实现图的BFS(广度优先遍 ...

  7. 任意两点最短路floyd算法matlab,多源最短路——Floyd算法

    Floyd算法 问题的提出:已知一个有向网(或者无向网),对每一对定点vi!=vj,要求求出vi与vj之间的最短路径和最短路径的长度. 解决该问题有以下两种方法: (1)轮流以每一个定点为源点,重复执 ...

  8. 动态规划 - Floyd算法求最短路径 - (Matlab建模)

    Floyd算法又称为弗洛伊德算法.插点法,是一种利用动态规划的思想寻找给定的加权图中多源点之间最短路径的算法,与Dijkstra算法类似.该算法名称以创始人之一.1978年图灵奖获得者.斯坦福大学计算 ...

  9. Dijkstra算法求单源最短路径

    1.最短路径 在一个连通图中,从一个顶点到另一个顶点间可能存在多条路径,而每条路径的边数并不一定相同.如果是一个带权图,那么路径长度为路径上各边的权值的总和.两个顶点间路径长度最短的那条路径称为两个顶 ...

  10. Floyd算法求最短路径(附代码实例)

    Floyd算法 使用范围: 1)求每对顶点的最短路径; 2)有向图.无向图和混合图; 算法思想: 直接在图的带权邻接矩阵中用插入顶点的方法依次递推地构造出n个矩阵D(1), D(2), -, D(n) ...

最新文章

  1. Loj#3130-「COCI 2018.12」Praktični【线性基】
  2. MySql5.7.12设置log-bin
  3. leetcode - 1039. 多边形三角剖分的最低得分
  4. Driver 初始化顺序
  5. 编译源码时出现 Checking API: checkapi-last (unknown): error 17解决方法
  6. Qt使用MSVC编译器关闭“warning: C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失”警告的方法
  7. 用PASS软件完成多组率的样本量计算
  8. CS224n(一) 自然语言处理与深度学习简介
  9. 基于python的网络爬虫系统的设计与实现
  10. swagger注解类说明
  11. 如何保障-数据一致性
  12. 举个栗子~Tableau 技巧(225):制作事件节点时间轴
  13. 【7gyy】教你快速对异常错误进行更正
  14. 计算机的四个发展阶段的应用,计算机分为哪四个发展阶段
  15. 命中有时终须有,命中无时莫强求--命理理论
  16. 他冒充“少年班校友”被中科大锤爆:本硕博学历全造假!但瓜还不止于此
  17. 【MyBatis笔记12】MyBatis中二级缓存相关配置内容
  18. CSS3使用calc() 计算高度和宽度 vh px
  19. Sql语句操作数据库(修改表,修改数据库)
  20. ffmpeg实现变速播放

热门文章

  1. for循环中包含跨服务查询优化
  2. java面试题 垃圾回收机制 GC BAT面试题系列 基础篇(十四)
  3. vim python一键执行、高亮等一键安装
  4. Java5线程并发库之同步集合
  5. Guava学习笔记:Immutable(不可变)集合
  6. 备忘: Visual Studio 2013 VC++ IDE 使用小贴示。
  7. 移动Web实战篇-使用CSS Sprites减少你的页面http请求
  8. 使用手机访问vue项目
  9. merge r语言daframe_R语言:数据框
  10. 用 js 写的 WebSocketHeartBeat,心跳检测,断线重连