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

搜索与图论——Floyd算法求最短路

floyd算法用来求多源汇最短路

用邻接矩阵来存所有的边

时间复杂度O(n^3)

#include<iostream>
#include<cstring>
#include<algorithm>using namespace std;const int N = 20010,INF = 1e9;int n,m,k;
int g[N][N];void floyd(){for(int k = 1;k <= n;k ++ ){for(int i = 1;i <= n;i ++ ){for(int j = 1;j <= n;j ++ ){g[i][j] = min(g[i][j],g[i][k] + g[k][j]);}}}
}int main(){cin >> n >> m >> k;for(int i = 1;i <= n;i ++ ){for(int j = 1;j <= m;j ++ ){if(i == j) g[i][j] = 0;else g[i][j] = INF;}}for(int i = 0;i < m;i ++ ){int x,y,z;cin >> x >> y >> z;g[x][y] = min(g[x][y],z);}floyd();while(k -- ){int x,y;cin >> x >> y;if(g[x][y] > INF / 2) cout << "impossible" << endl; //INF还是要/2,考虑到可能有负权边的情况else cout << g[x][y] <<endl;}return 0;
}

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

相关文章:

  • 春招冲刺百题计划--矩阵篇
  • LLM大语言模型(八):ChatGLM3-6B使用的tokenizer模型BAAI/bge-large-zh-v1.5
  • MySQL中的三种日志
  • Codeforces Round 932 (Div. 2)(A,B,C,D)
  • 初识C++ · 入门(2)
  • 【opencv】教程代码 —ShapeDescriptors
  • 2024-03-28 Java8之Collectors类
  • 第116讲:使用Mycat-eye管理Mycat数据库服务
  • XR虚拟直播间,引领创新风潮,打破直播局限!
  • unity双层滑动实现
  • 浅谈AI技术创业有哪些机会?
  • 大数据-TXT文本重复行计数工具
  • 【无标题】331
  • MIT最新研究成果 机器人能够从错误中纠偏 无需编程介入和重复演示
  • C语言—指针数组
  • OpenCV图像二值化
  • java中的抽象类
  • 代码随想录算法训练营第二十天| 654.最大二叉树、617.合并二叉树、700.二叉搜索树中的搜索、98.验证二叉搜索树
  • 2014年认证杯SPSSPRO杯数学建模A题(第二阶段)轮胎的花纹全过程文档及程序
  • C#全新一代医院手术麻醉系统围术期全流程源码
  • Python 神器:一键下载 M3U8 并转换为 MP4
  • vue3全局控制Element plus所有组件的文字大小
  • 区间预测 | Matlab实现带有置信区间的BP神经网络时间序列未来趋势预测
  • Matlab中的脚本和函数
  • 使用 nohup java - jar 不输出nohup日志
  • Linux系统中安装一些常用的插件备用
  • 笔记本电脑上部署LLaMA-2中文模型
  • 百度云加速方法「Cheat Engine」
  • SOC内部集成网络MAC外设+ PHY网络芯片方案:PHY芯片基础知识
  • openGauss 6.0.0-RC1 版本正式发布!