博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
pta7-7旅游规划(dijkstra算法)
阅读量:5951 次
发布时间:2019-06-19

本文共 805 字,大约阅读时间需要 2 分钟。

题目链接:https://pintia.cn/problem-sets/1101307589335527424/problems/1101314114762387456

题意:给n给城市,m条公路,公路是双向的,起点S,终点D,并给出每条公路连接的两个city的编号以及路费,求S到D的最短距离,若具有最短距离的路线不止一条,求出路费最少的一条。

思路:单源最短路径问题,利用dijkstra算法求出S到其他点的最短路径,只不过加一个路费cost,在dis相等的情况下,取cost最小值。

AC代码:

#include
using namespace std;const int inf=0x3f3f3f3f;int n,m,S,D;int dis[505],cost[505],a[505][505],b[505][505],vis[505];void dijkstra(){ vis[S]=1; for(int i=0;i
dis[k]+a[k][i]){ dis[i]=dis[k]+a[k][i]; cost[i]=cost[k]+b[k][i]; } else if(!vis[i]&&dis[i]==dis[k]+a[k][i]&&cost[i]>cost[k]+b[k][i]) cost[i]=cost[k]+b[k][i]; }}int main(){ scanf("%d%d%d%d",&n,&m,&S,&D); for(int i=0;i

 

转载于:https://www.cnblogs.com/FrankChen831X/p/10492723.html

你可能感兴趣的文章
Spring+SpringMVC+MyBatis+easyUI整合基础篇(一)项目简述及技术选型介绍
查看>>
剑指offer——35复杂链表的复制
查看>>
DFI、DPI技术
查看>>
hibernate 执行存储过程 方法
查看>>
RapidIOIP核的验证方法研究_王玉欢
查看>>
崩溃日志的实例
查看>>
base64是啥原理
查看>>
字符串中去除连续相同的字符保留一个
查看>>
实战 Windows Server 2012 群集共享卷
查看>>
CSS 元素超出部分滚动, 并隐藏滚动条
查看>>
【转】文件各种上传,离不开的表单
查看>>
C#中的volatile关键字
查看>>
PHP过滤常用标签的正则表达式
查看>>
算法集锦(二)
查看>>
Unix环境高级编程(十五)高级I/O
查看>>
浅谈"n个球"和"m个盒子"之间的乱伦关系
查看>>
详解SpringMVC中Controller的方法中参数的工作原理
查看>>
2018-10-08
查看>>
Spring Cloud使用总结
查看>>
CentOS7(64)环境使用rpm命令安装gcc
查看>>