最短路径问题(dijkstar)
来源:互联网 发布:rt809f编程器 自制 编辑:程序博客网 时间:2024/06/11 04:02
最短路径问题
Time Limit:10000MS Memory Limit:65536KTotal Submit:312 Accepted:160 Case Time Limit:1000MS
Description
平面上有n个点(N<=100),每个点的坐标均在-10000~10000之间。其中的一些点之间有连线。若有连线,则表示可从一个点到达另一个点,即两点间有通路,通路的距离为两点直线的距离。现在的任务是找出从一点到另一点之间的最短路径。
Input
输入文件short.in,共有n+m+3行,其中:第一行为一个整数n。 第2行到第n+1行(共n行),每行的两个整数x和y,描述一个点的坐标(以一个空格隔开)。 第n+2行为一个整数m,表示图中的连线个数。 此后的m行,每行描述一条连线,由两个整数I,j组成,表示第i个点和第j个点之间有连线。 最后一行:两个整数s和t,分别表示源点和目标点。
Output
输出文件short.out仅一行,一个实数(保留两位小数),表示从S到T的最短路径的长度。
Sample Input
50 0 2 02 20 23 151 21 31 42 53 51 5
Sample Output
3.41
Source
elba
var f:array[0..101,0..2]of longint; c:array[0..101]of real; b:array[0..101]of boolean; a:array[0..101,0..101]of real; i,j,k,n,m,max,x,y,s,t:longint; min:real;begin fillchar(a,sizeof(a),$5f); readln(n); for i:=1 to n do readln(f[i,1],f[i,2]); readln(m); for i:=1 to m do begin readln(x,y); a[x,y]:=sqrt(sqr(f[x,1]-f[y,1])+sqr(f[x,2]-f[y,2])); a[y,x]:=a[x,y]; end; readln(s,t); for i:=1 to n do c[i]:=a[s,i]; for i:=1 to n-1 do begin min:=maxlongint; k:=0; for j:=1 to n do if (not b[j]) and (c[j]<min) then begin min:=c[j]; k:=j; end; if k=0 then break; b[k]:=true; for j:=1 to n do if c[k]+a[k,j]<c[j] then c[j]:=c[k]+a[k,j]; end; writeln(c[t]:0:2);end.
0 0
- 最短路径问题(dijkstar)
- wikioi 2602 最短路径问题 Dijkstar
- hdu3790最短路径问题 (用优先队列实现的||dijkstar)
- 最短路径Dijkstar算法和Floyd算法详解(c语言版)
- 最短路径Dijkstar算法和Floyd算法详解(c语言版)
- 最短路径Dijkstar算法和Floyd算法详解(c语言版)
- 最短路径Dijkstar算法和Floyd算法详解(c语言版)
- 最短路径问题
- 最短路径问题
- 最短路径问题
- 最短路径问题
- 最短路径问题
- 最短路径问题
- 最短路径问题
- 最短路径问题
- 最短路径问题
- 最短路径问题
- 最短路径问题
- GoogLeNet笔记
- Android-数据储存:用户登录界面(存储)
- setFocusable、setEnabled、setClickable区别
- 【JZOJ100005】【NOI2017模拟.4.1】Shoes
- 二叉树的中序遍历
- 最短路径问题(dijkstar)
- 图形学1-三维坐标系间的变换矩阵推导
- HDU4725-The Shortest Path in Nya Graph
- TensorFlow入门(四)--Constants, Sequences, and Random Values
- linux自带spi驱动 ,可自己配置CS
- 蓝桥 T414 合并石子
- 图片特征
- 《追风筝的人》- [美] 卡勒德·胡赛尼
- Cassandra 3.0数据修复机制