最短路径旅游规划Floyd

原题解析:/*

  • 有了一张自驾旅游路线图,你会知道城市间的高速公路长度、以及该公路要收取的过路费。
  • 现在需要你写一个程序,帮助前来咨询的游客找一条出发地和目的地之间的最短路径。
  • 如果有若干条路径都是最短的,那么需要输出最便宜的一条路径。
  • 本道题的思想是用最简单的最短路径算法–Floyd算法
  • Floyd可以求任意两点之间的最短距离,利用在两点之间加入其他的点使得两点间得距离最短
  • 这道题因为涉及到距离相同时根据两点之间的价格进行选择,所以在其中需要加上价格的松弛
 * 输入数据* 4 5 0 3* 0 1 1 20* 1 3 2 30* 0 3 4 10* 0 2 2 20* 2 3 1 20* 输出数据* 3 40

*/

开始解析:

import java.util.*;
public class 最短路径旅游规划Floyd {public static int inf = 99999999;public static void main(String[] args){Scanner sc = new Scanner(System.in);//输入数据String[] s1 = sc.nextLine().split(" ");int n = Integer.parseInt(s1[0]);int m = Integer.parseInt(s1[1]);int a = Integer.parseInt(s1[2]);int b = Integer.parseInt(s1[3]);int[][] e = new int[505][505];int[][] price = new int[505][505];//初始化for(int i = 0;i< n;i++)for(int j = 0;j<n;j++){if(i==j)e[i][j] = 0;elsee[i][j] = inf;}for(int i = 0;i< n;i++)for(int j = 0;j<n;j++){price[i][j] = inf;}//输入路的信息和价格的信息for(int i=0;i<m;i++){String[] s2 = sc.nextLine().split(" ");int t1 = Integer.parseInt(s2[0]);int t2 = Integer.parseInt(s2[1]);int t3 = Integer.parseInt(s2[2]);int t4 = Integer.parseInt(s2[3]);e[t1][t2] = t3;e[t2][t1] = t3;price[t1][t2] = t4;price[t2][t1] = t4;}//Floydfor(int k = 0;k < n;k++)for(int i=0;i<n;i++)for(int j = 0;j<n;j++){if(e[i][j] > e[i][k] + e[k][j]){e[i][j] = e[i][k] + e[k][j];price[i][j]=price[i][k] + price[k][j];}else if(e[i][j] == e[i][k] + e[k][j]){if(price[i][j] > price[i][k] + price[k][j])price[i][j]=price[i][k] + price[k][j];}}System.out.println(e[a][b]+" "+price[a][b]);}
}
/*

有问题请联系原博主.

最短路径旅游规划Floyd相关推荐

  1. 旅游规划pta(无向图求顶点间最短路径)

    关于求图的顶点间最短路径问题,基本分为两种算法: Dijkstra算法 Floyd算法 Dijkstra算法是用来求图中某个源点到其他顶点的最短路径的,而Floyd是用来求图中任意两个顶点间的最短路径 ...

  2. C++数据结构——旅游规划(Floyd算法详解)

    旅游规划 作者 陈越 单位 浙江大学 有了一张自驾旅游路线图,你会知道城市间的高速公路长度.以及该公路要收取的过路费.现在需要你写一个程序,帮助前来咨询的游客找一条出发地和目的地之间的最短路径.如果有 ...

  3. 【PAT数据结构与算法题目集】 旅游规划(单源最短路径,长度+路径查找)

    [PAT数据结构与算法题目集] 旅游规划(单源最短路径,长度+路径查找) 题目 有了一张自驾旅游路线图,你会知道城市间的高速公路长度.以及该公路要收取的过路费.现在需要你写一个程序,帮助前来咨询的游客 ...

  4. (c语言详解)07-图6 旅游规划(详细解释)

    本博文源于浙江大学<数据结构>,为了更好地解释程序,先放题目 有了一张自驾旅游路线图,你会知道城市间的高速公路长度.以及该公路要收取的过路费.现在需要你写一个程序,帮助前来咨询的游客找一条 ...

  5. 7-2 旅游规划 (25分)

    7-2 旅游规划 (25分) 有了一张自驾旅游路线图,你会知道城市间的高速公路长度.以及该公路要收取的过路费.现在需要你写一个程序,帮助前来咨询的游客找一条出发地和目的地之间的最短路径.如果有若干条路 ...

  6. 天梯赛最短路专题 -- 旅游规划、城市间紧急救援

    最短路 7-2 旅游规划 (25分) 7-4 城市间紧急救援 (25分) 7-2 旅游规划 (25分) https://pintia.cn/problem-sets/13053317694120222 ...

  7. PTA 7-3 旅游规划 (25分)(双权值Dijkstra最短路)

    7-3 旅游规划 (25分) 有了一张自驾旅游路线图,你会知道城市间的高速公路长度.以及该公路要收取的过路费.现在需要你写一个程序,帮助前来咨询的游客找一条出发地和目的地之间的最短路径.如果有若干条路 ...

  8. 7-3 旅游规划 (25 分)(C语言实现)

    有了一张自驾旅游路线图,你会知道城市间的高速公路长度.以及该公路要收取的过路费.现在需要你写一个程序,帮助前来咨询的游客找一条出发地和目的地之间的最短路径.如果有若干条路径都是最短的,那么需要输出最便 ...

  9. 7-7 旅游规划 (8 分)

    7-7 旅游规划 (8 分) 有了一张自驾旅游路线图,你会知道城市间的高速公路长度.以及该公路要收取的过路费.现在需要你写一个程序,帮助前来咨询的游客找一条出发地和目的地之间的最短路径.如果有若干条路 ...

最新文章

  1. 禁用outlook2007 垃圾邮件过滤功能
  2. 压缩目录Linux常用的几种文件压缩解压方法
  3. 为什么要假设变量为正态分布?
  4. java技术入门培训_入门java怎么自学?推荐谁的课程?
  5. 20个很酷的CSS3导航菜单制作教程
  6. 计算ndvi值需要的数据_ENVI中计算植被覆盖指数
  7. 计算机视觉论文-2021-05-11
  8. 福玛特机器人怎么开机_福玛特扫地机器人常见问题故障汇总
  9. 锂电池保护板原理(转)
  10. office 2010 安装
  11. WPS金山软件,死磕微软31年,故事要从1988年说起...
  12. 3D建模的通用文件格式
  13. Hadoop运维记录系列(十九)
  14. 开机直接进入键盘布局_开机怎么进入安全模式(windows10停留选择键盘布局)
  15. 用J-Link调试S3C6410(2) --- 运行Leds程序:jink原理
  16. uni-app 常用内容
  17. 如果你还不懂区块链那就out了(三)--区块链3.0的优秀解决方案:Hyperledger fabric
  18. 万字长文 | 这可能是东半球最保姆级的后台服务器开发学习路线
  19. 显示商品分类列表页面
  20. 记win10安装cupy的cuda版本成功踩得坑!!!血泪教训!!

热门文章

  1. idea创建Gradle项目
  2. 计算器算贝塞尔公式_「机动战姬:聚变」伤害计算公式
  3. 慢阻肺稳定期:持续治疗是关键
  4. goland bug导致cos桶资源暴涨一百倍问题排查及修复
  5. Linux系统用户命令详解
  6. JDK9的这些新特征你知道吗?
  7. Docker常见面试题 | 答案
  8. 基于Vue和Axios的小型在线音乐播放器
  9. jQuery深入学习02
  10. Apache Airflow2.2.4