机试真题 弗洛伊德算法
时间:2020-04-13
本文章向大家介绍机试真题 弗洛伊德算法,主要包括机试真题 弗洛伊德算法使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
裸的弗洛伊德算法,题目中指定,再阐述一下思想;
弗洛伊德思想:
对于n个结点,如果该节点当其他任意两个结点i,j的中继,可以缩短i和j之间的距离,则进行更新;
采用三个循环更新,复杂度为O(n^3);
#include<iostream> #include<vector> #include<string> using namespace std; const int maxn = 210; const int INF = 10000000; int ma[maxn][maxn]; int n, m; int st, ed; void init() { fill(ma[0], ma[0] + maxn * maxn, INF); for (int i = 0; i < n; i++) { ma[i][i] = 0; } } void floyd() { for (int k = 0; k < n; k++) { for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { if (ma[i][k] != INF && ma[k][j] != INF && ma[i][k] + ma[k][j] < ma[i][j]) { ma[i][j] = ma[i][k] + ma[k][j]; } } } } } int main() { while (cin >> n >> m) { init(); int a, b, c; for (int i = 0; i < m; i++) { cin >> a >> b >> c; ma[a][b] = ma[b][a] = c; } cin >> st >> ed; floyd(); if (ma[st][ed] == INF) cout << -1 << endl; else cout << ma[st][ed] << endl; } }
原文地址:https://www.cnblogs.com/songlinxuan/p/12693025.html
- 数据可视化-EChart2.0使用总结1
- JavaScript事件概览
- gradle项目与maven项目相互转化
- rpc框架之gRPC 学习 - hello world
- Angular Service入门
- spring:如何用代码动态向容器中添加或移除Bean ?
- WebComponent魔法堂:深究Custom Element 之 标准构建
- druid 数据源 使用属性文件的一个坑
- Angular企业级开发(3)-Angular MVC实现
- spring: 加载远程配置
- java:如何让程序按要求自行重启?
- Angular学习-指令入门
- java:如何让程序按要求自行重启?
- linux:nohup 不生成 nohup.out的方法
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 接口403问题没这么容易解决
- 码云 Pages 搭建
- Meteva笔记:加载GRIB 2要素场
- crontab 指令笔记
- Shell 脚本实现串口操作
- 【CSS】714- 你所不知道的 CSS 负值技巧与细节
- SRC挖掘利器—溯光开源插件化渗透测试框架
- 【React】717- 从零实现 React-Redux
- 【Vue.js】Vue.js介绍及MVVM模式
- 【Vue.js】Vue.js基本语法
- 【JS】723- 前端如何优雅的处理类数组对象?
- GitLabCI作业中如何使用私有仓库镜像?
- 三分钟学会自定义spring-boot-starter
- 分析Netflix公司产品Spinnaker的微服务实践
- 教你用策略模式解决多重if-else