P1339 [USACO09OCT]热浪Heat Wave
来源:互联网 发布:中拍协网络拍卖平台 编辑:程序博客网 时间:2024/04/29 20:36
题目描述
给一个地图,有C (1 <= C <= 6,200)条直接连接2个城镇的道路。每条道路由道路的起点Rs,终点Re ,且每一条道路是双向的,和花费组成。求从起始的城镇Ts 到终点的城镇Te最小的总费用。
样例输入
7 11 5 42 4 21 4 37 2 23 4 35 7 57 3 36 1 16 3 42 4 35 6 37 2 1
样例输出
7
思路
O(n^2)Dijkstra求单源最短路,把所有的顶点分为已找到最短路(s)和没有找到最短路(t)的两个集合,将顶点依次加入s中,对新加入的点进行松弛。d[u]+a[u,i]<d[i]
var d:array[1..7000] of longint; a:array[1..3000,1..3000] of longint; mark:array[1..7000] of boolean; n,b,c,e:longint;procedure dij(v0:integer);var i,j,u,min:integer;begin fillchar(mark,sizeof(mark),false); mark[v0]:=true; for i:=1 to n do d[i]:=a[v0,i]; repeat u:=0;min:=maxint; for i:=1 to n do if (not mark[i])and(d[i]<min) then begin u:=i; min:=d[i]; end; if u<>0 then begin mark[u]:=true; for i:=1 to n do if (not mark[i])and(d[u]+a[u,i]<d[i])then begin d[i]:=d[u]+a[u,i]; end; end; until u=0;end;procedure init;var i,x,y,z:longint;begin readln(n,b,c,e); for i:=1 to b do begin readln(x,y,z); a[x,y]:=z; a[y,x]:=z; end;end;begin fillchar(a,sizeof(a),$7f); init; dij(c); writeln(d[e]);end.
1 0
- P1339 [USACO09OCT]热浪Heat Wave
- P1339 [USACO09OCT]热浪Heat Wave
- P1339 [USACO09OCT]热浪Heat Wave
- P1339 [USACO09OCT]热浪Heat Wave
- P1339 [USACO09OCT]热浪Heat Wave
- 洛谷 P1339 [USACO09OCT] 热浪Heat Wave
- 洛谷 P1339 [USACO09OCT]热浪Heat Wave
- 洛谷 P1339 [USACO09OCT]热浪Heat Wave
- [LUOGU] P1339 [USACO09OCT]热浪Heat Wave
- 洛谷 P1339 [USACO09OCT]热浪Heat Wave(用Dij)
- Dijkstra算法模版 洛谷P1339 [USACO09OCT]热浪Heat Wave
- [USACO09OCT]热浪Heat Wave
- 【USACO09OCT】热浪Heat Wave
- 【洛谷1339】[USACO09OCT]热浪Heat Wave
- 【洛谷1339】[USACO09OCT]热浪Heat Wave spfa
- [USACO09OCT]热浪Heat Wave 洛谷 1339 最短路
- SPFA基础模板 (洛谷1339 [USACO09OCT]热浪Heat Wave)
- 洛谷 1339 [USACO09OCT]热浪Heat Wave 最短路
- 数据结构(顺序表-实现)
- 字符串整数相加
- 404. Sum of Left Leaves
- parseInt()、valueOf()、toString()和intValue()的区别与联系
- 使用purifycss精简css的两种方法详解
- P1339 [USACO09OCT]热浪Heat Wave
- 收敛与稳态
- 欢迎使用CSDN-markdown编辑器
- HDU 5120 Intersection【π的表示】
- pat-top 1013. Image Segmentation (35)
- 2017.03.03 今天电话面试的内容
- Intellij配置远程部署项目到Tomcat
- 图的最小生成树---Prim算法
- 浅谈JavaScript异步加载的三种方式——async和defer、动态创建script