题意

平面上有n个点(N<=100),每个点的坐标均在-10000~10000之间。其中的一些点之间有连线。若有连线,则表示可从一个点到达另一个点,即两点间有通路,通路的距离为两点直线的距离。现在的任务是找出从一点到另一点之间的最短路径。

分析

先算出点与点之间的距离

距离=sqrt(sqr(x[i]-x[j])+sqr(y[i]-y[j]))

然后就很好做了

var
n,i,j,k,s,t,m,x1,y1:longint;
x,y:array[0..200]of longint;
a:array[0..200,0..200]of real;
begin
    readln(n);
    for i:=1 to n do
    readln(x[i],y[i]);
    readln(m);
    fillchar(a,sizeof(a),127);
    for i:=1 to m do
    begin
        readln(x1,y1);
        a[x1,y1]:=sqrt(sqr(x[x1]-x[y1])+sqr(y[x1]-y[y1]));
        a[y1,x1]:=a[x1,y1];
    end;
    read(s,t);
    for i:=1 to n do
    for j:=1 to n do
    for k:=1 to n do
    if a[j,i]+a[k,i]<a[j,k] then a[j,k]:=a[j,i]+a[k,i];
    write(a[s,t]:0:2);
end.

转载于:https://www.cnblogs.com/YYC-0304/p/9500146.html

最短路径问题(Floyd算法)相关推荐

  1. 计算完全最短路径的Floyd算法

    [计算完全最短路径的Floyd算法] (一).定义** Floyd–Warshall(简称Floyd算法)是一种著名的解决任意两点间的最短路径(All Paris Shortest Paths,APS ...

  2. 图的单源最短路径,Floyd算法(数据结构c++)

    这个算法结构很是简单,但是理解还是有一定的困难,一开始做的时候想不明白,跟着算法自己动手画画就知道这个算法具体是怎么回事了. 时间复杂度是O(N*3) 算法有点动态规划的意思,有两个数组,一个(dis ...

  3. 图的所有顶点间的最短路径(Floyd算法)

    问题描述 对每一对顶点vi ≠ vj,求出vi与vj之间的最短路径和最短路径长度 Floyd算法 Floyd(Floyd-Warshall)算法又称为插点法,是一种利用动态规划的思想寻找给定的加权图中 ...

  4. 图论-全源最短路径-对比Floyd算法与暴力Dijkstra算法

    题目 输入顶点数N,有向边数M,接下来M行输入格式为u,v,w分别代表两个顶点u,v和两点之间边的权值w.输出全源最短路径 输入样例: 6 8 0 1 1 0 3 4 0 4 4 1 3 2 2 5 ...

  5. 最短路径问题---Floyd算法详解

    前言 Genius only means hard-working all one's life. Name:Willam Time:2017/3/8 1.最短路径问题介绍 问题解释: 从图中的某个顶 ...

  6. 最短路径:Dijkstra算法(求单源最短路径)Floyd算法(求各顶点之间最短路径)

    最短路径: 在一个带权图中,顶点V0到图中任意一个顶点Vi的一条路径所经过边上的权值之和,定义为该路径的带权路径长度,把带权路径最短的那条路径称为最短路径. DiskStra算法: 求单源最短路径,即 ...

  7. 最短路径之Floyd算法

    Floyd-Warshall算法,简称Floyd算法,用于求解任意两点间的最短距离,时间复杂度为O(n^3). 输出权值大小及路径: #include <iostream> #includ ...

  8. 最短路径之--floyd算法--多源最短路径

    <啊哈!算法>总结:Floyd-傻子也能看懂的弗洛伊德算法(转)   如果你看不懂,你就还不如傻子 Floyd数学推理过程:https://www.cnblogs.com/ECJTUACM ...

  9. 最短路径之Floyd(弗洛伊德)算法,以及显示完整路径

    简介: Floyd算法又称为插点法,是一种利用动态规划的思想寻找给定的加权图中多源点之间最短路径的算法,与Dijkstra算法类似.该算法名称以创始人之一.1978年图灵奖获得者.斯坦福大学计算机科学 ...

最新文章

  1. Linux系统支持的目录文件有,【技术支持】linux操作系统有哪些文件和目录操作相关命令?...
  2. Shell脚本中函数的定义和调用笔记
  3. 如何在MATLAB中把变量填到Word中,matlab数据写入现有excel表格-如何将matlab中变量写入excel...
  4. 前端学习(1689):前端系列javascript之如何搞定面试题
  5. php生成 优惠券 激活码
  6. Hadoop实战(3)_虚拟机搭建CDH的全分布模式
  7. UVW 在C#中的代码实现
  8. (转)如何用PHP/MySQL为 iOS App 写一个简单的web服务器(译) PART1
  9. JVM 隐含执行同步情况
  10. C#使用iTextSharp+ZXing.Net+FreeSpire.PDF生成和打印pdf文档
  11. 计算圆周长,圆面积,圆球表面积,圆球体积,圆柱体积
  12. STM32F103ZET6+红外温度传感器mlx90614芯片
  13. MPCS-314 1A 光电耦合器 用于IGBT/MOSFET隔离栅极驱动 完美代替ELS3150 亿光
  14. OSPF的DR/BDR的选举规则,数据包,接口网络
  15. android 简单快速 倒计时动画
  16. 计算机网络实验一:验证性实验
  17. 软件设计之UML—UML的构成[上]
  18. Eureka相关总结
  19. 许昌学院计算机宿舍,许昌学院宿舍条件及图片
  20. 年度优秀项目呈献|南方电讯信发系统助力亿达公司多媒体展厅音视频建设

热门文章

  1. 七、“待到秋风起,桃李遍九州”
  2. 云炬Android开发笔记 12基于WebView的混合App框架设计(包含浏览器与原生请求Cookie的处理)
  3. 我用 PyTorch 复现了 LeNet-5 神经网络(CIFAR10 数据集篇)!
  4. 编写代码的若干个基本规则(以Java为例)
  5. wireshark应用--wireshark原来那么简单
  6. 【CyberSecurityLearning 附】使用PHP语言搭建简单的论坛:注册功能实现+PHP个人中心设计+简单留言板
  7. 《编码的奥秘》---学习编程一年半的体会
  8. 操作系统(二十二)用信号量机制实现进程互斥、同步、前驱关系
  9. 日常生活 -- 开博二周年
  10. Blind Return Oriented Programming (BROP) Attack - 攻击原理