HDU 3790 最短路径问题 (dijkstra)
最短路径问题
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 29549 Accepted Submission(s): 8761
(1<n<=1000, 0<m<100000, s != t)
#include <cstdio> #include <iostream> #include <cstring> #include <map> #include <algorithm> using namespace std; #define INF 0x3f3f3f3f int path [1010][1010]; int cost[1010][1010]; int s,t,n,m,u,v,val,long1; int dis[1010]; int co[1010]; int vis[1010]; void djs(int s,int t) {fill(co,co+n+1,INF);fill(dis,dis+n+1,INF);co[s]=0;dis[s]=0;while(1){int u=-1;for(int i=1;i<=n;i++)if(!vis[i]&&(u==-1||dis[i]<dis[u]))u=i;if(u==-1)break;vis[u]=1;for(int i=1;i<=n;i++){if(path[u][i]==-1)continue;if(dis[i]>dis[u]+path[u][i]){dis[i]=dis[u]+path[u][i];co[i]=co[u]+cost[u][i];}else if(dis[i]==dis[u]+path[u][i])co[i]=min(co[i],co[u]+cost[u][i]);}} } int main() {while(scanf("%d%d",&n,&m)!=EOF){if(n==0&&m==0)break;memset(path,-1,sizeof(path));memset(cost,-1,sizeof(cost));memset(vis,0,sizeof(vis));for(int i=0;i<m;i++){scanf("%d%d%d%d",&u,&v,&long1,&val);if(long1<path[u][v]||path[u][v]==-1){path[u][v]=long1;cost[u][v]=val;path[v][u]=long1;cost[v][u]=val;}}scanf("%d%d",&s,&t);djs(s,t);printf("%d %d\n",dis[t],co[t]);}return 0; }
转载于:https://www.cnblogs.com/a249189046/p/7488776.html
HDU 3790 最短路径问题 (dijkstra)相关推荐
- hdu 3790(最短路径问题 SPFA算法)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3790 最短路径问题 Time Limit: 2000/1000 MS (Java/Others) ...
- HDU 3790 最短路径问题 裸跑dijkstra
原题: http://acm.hdu.edu.cn/showproblem.php?pid=3790 题目: 最短路径问题 Time Limit: 2000/1000 MS (Java/Others) ...
- hdu 3790 最短路径dijkstra(多重权值)
最短路径问题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
- hdu 3790 最短路径问题
最短路径问题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
- HDU 3790 最短路径问题
最短路径问题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submis ...
- HDU - 3790 最短路径问题
给你n个点,m条无向边,每条边都有长度d和花费p,给你起点s终点t,要求输出起点到终点的最短距离及其花费,如果最短距离有多条路线,则输出花费最少的. Input输入n,m,点的编号是1~n,然后是m行 ...
- HDU 3790 最短路径问题 (SPFA)
转载请注明出处:http://blog.csdn.net/a1dark 分析:比一般最短路多了一个花费.多加一个判断即可.用的SPFA.这道题让我搞清楚了以前定义INF为啥爆的问题.受益颇多. #in ...
- 最短路径算法——Dijkstra,Bellman-Ford,Floyd-Warshall,Johnson,无一幸免
文章出自:http://dsqiu.iteye.com/blog/1689163 最短路径算法--Dijkstra,Bellman-Ford,Floyd-Warshall,Johnson,无一幸免 本 ...
- C语言基本数据结构之三(图的广度及深度遍历,求单源最短路径的Dijkstra算法)
上一篇主要讲了二叉树的先序,中序,后序遍历算法以及深度和节点的算法,这篇就讲一讲图的基本算法. 一.图的基本概念 1.1有向图G1: 有向图G是由两个集合V(G)和E(G)组成的,其中:V(G)是顶点 ...
最新文章
- android 让应用悬浮,快速回复+app下载
- requests.get(url)执行没反应_如果贾府抄家时黛玉还活着,她会是什么反应?
- 计算机里的文件弄不到桌面怎么办,笔记本电脑桌面上的文件夹不见了怎么办
- php未知参数,php – 使用未知数量的参数创建Laravel Eloquent Query
- boost::next_permutation相关的测试程序
- 数据库mysql面试题 it_【模块三】数据库篇--MySQL面试题☞参考答案
- 9203复习小结 消息框 新窗体
- 自动驾驶横向运动学分析和非线性问题处理方法
- 一个小技巧让你轻松处理Selenium处理滚动条和元素聚焦
- ELK下Elasticsearch优化
- shell sort result to self
- GridView 中DataFormatString失效的原因
- linux无线网卡模拟ap,TP-Link无线网卡怎么设置虚拟AP
- 那些年搞不懂的高深术语——依赖倒置•控制反转•依赖注入•面向接口编程...
- 富途客户端软件测试笔试and面试
- G001-181-08
- tl-wdr5620虚拟服务器设置,TP-Link TL-WDR5620路由器怎么设置
- 如何将一个逻辑库下所有数据集的名称汇总生成新的数据集BY:crackman
- 基于springboot的实验室预约管理系统(完美运行,数据库源代码,可远程调试)
- java交付工程师发展前景,看完没有不懂的
热门文章
- 用Kotlin开发android平台语音识别,语义理解应用(olamisdk)
- Android 开源框架之 Android-async-http 源码解读
- android6.0源码分析之Camera2 HAL分析
- Go语言重点知识点1
- 太原工业学院单片机课程设计_我系举办2014年单片机应用技能竞赛开幕式
- php管理员登录文件,快速的事情,只有管理员,PHP才能访问文件
- adb shell 修改文件名_从零开始学Linux运维|27.Shell编程(函数与参数的传递)
- cnc加工中心保养表_CNC加工中心有哪些日常保养方法?
- 20201202 《计算感知》武老师 第2节课 笔记
- BZOJ 4898 Luogu P3778 [APIO2017]商旅 (分数规划、最短路)