//ford算法

#include <stdio.h>
#include <stdlib.h>
#include<string.h>
#include<math.h>
struct EdgeNode
{int a;int b;
} E[11111];
struct VexNode
{int x;int y;
} V[111];int n, m;void ford(int s, int t)
{int i, j;double dis[111];//for(i = 1;i<= n;i++) dis[i] = 10000000000;//初始化dis[s] = 0;//初始化for(i = 0; i< n-1; i++){for(j = 1; j <= m; j++){int a = E[j].a;int b = E[j].b;double di = sqrt(pow(V[a].x-V[b].x,2)+pow(V[a].y- V[b].y,2));if(dis[b]>dis[a]+ di){dis[b] = dis[a]+di;}if(dis[a]> dis[b]+di){dis[a] = dis[b]+di;}}}for(j = 1; j <= m; j++){int a = E[j].a;int b = E[j].b;double di = sqrt(pow(V[a].x-V[b].x,2)+pow(V[a].y- V[b].y,2));if(dis[b]>dis[a]+ di){dis[b] = dis[a]+di;}if(dis[a]> dis[b]+di){dis[a] = dis[b]+di;}}printf("%.2lf", dis[t]);
}int main()
{int i;scanf("%d", &n);for(i = 1; i <=n; i++){int x, y;scanf("%d %d", &x, &y);V[i].x = x;V[i].y = y;}scanf("%d", &m);for(i = 1; i<= m; i++){scanf("%d %d", &E[i].a, &E[i].b);}int s, t;scanf("%d %d", &s, &t);ford(s, t);return 0;
}

SDUT最短路径问题 1867————最短路相关推荐

  1. 九度OJ 1008:最短路径问题 (最短路)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:8064 解决:2685 题目描述: 给你n个点,m条无向边,每条边都有长度d和花费p,给你起点s终点t,要求输出起点到终点的最短距离及其花费 ...

  2. SSL 1613——最短路径问题(最短路)

    Description 平面上有n个点(N<=100),每个点的坐标均在-10000~10000之间.其中的一些点之间有连线.若有连线,则表示可从一个点到达另一个点,即两点间有通路,通路的距离为 ...

  3. 两种最短路径(测地距离)的算法——Dijkstra和Floyd

    从某顶点出发,沿图的边到达另一顶点所经过的路径中,各边上权值之和最小的一条路径叫做最短路径.解决最短路的问题有以下算法,Dijkstra算法,Bellman-Ford算法,Floyd算法和SPFA算法 ...

  4. 迪杰斯特拉算法 php,最短路径算法

    从某顶点出发,沿图的边到达另一顶点所经过的路径中,各边上权值之和最小的一条路径叫做最短路径.解决最短路的问题有以下算法,Dijkstra算法,Bellman-Ford算法,Floyd算法和SPFA算法 ...

  5. 标号法(Dijkstra)求最短路 matlab

    Dijkstra算法研究的是从初始点到其他每一节点的最短路径 在求解最短路之前需要将权重矩阵写出,在写的时候需要注意不连通的两个地点要设置成一个无限大的数,在matlab中为inf. 对应的权重矩阵应 ...

  6. python贪心算法最短路径_dijkstra算法(贪心算法)——解决最短路径问题

    最短路径 给定一张带权图和其中的一个点(作为源点),求源点到其余顶点的最短路径 基本思想 1)源点u,所有顶点的集合V,集合S(S中存有的顶点,他们到源点的最短路径已经确定,源点u默认在S中),集合V ...

  7. 最短路算法的证明_彻底搞懂最短路算法

    只想说:温故而知新,可以为师矣.我大二的<数据结构>是由申老师讲的,那时候不怎么明白,估计太理论化了(ps:或许是因为我睡觉了):今天把老王的2011年课件又看了一遍,给大二的孩子们又讲了 ...

  8. 单源(多源)最短路算法Dijkstra、Bellman-Ford、SPFA

    最短路算法 单源最短路:即一个点到任意点的最短路径 多源最短路:即任意一点到任意一点的最短路径 Dijkstra算法: 这个算法是通过点去更新最短路,每次找离源点最近的一个顶点,然后以该顶点为中心进行 ...

  9. 集体智慧及其常用算法

    集体智慧定义 是指由许多的个体通过合作与竞争中所显现出来的智慧,集体智慧是一种共享的或者群体的智能.它是从许多个体的合作与竞争中涌现出来的.集体智慧在细菌.动物.人类以及计算机网络中形成,并以多种形式 ...

  10. 最大流最小费用java_最小费用最大流及算法

    最大流的网络,可看作为辅送一般货物的运输网络,此时,最大流问题仅表明运输网络运输货物的能力,但没有考虑运送货物的费用.在实际问题中,运送同样数量货物的运输方案可能有多个,因此从中找一个输出费用最小的的 ...

最新文章

  1. Makefile和automake中判断CPU位数
  2. Kafka本身的架构
  3. python中的ix是啥_python pandas (ix iloc loc) 的区别
  4. 精通Android自定义View(十一)绘制篇Canvas分析之裁剪
  5. docker运行镜像报错:write init-p: broken pipe
  6. syntax error near unexpected token `then'
  7. matlab程控开关,基于单片机和FPGA设计的程控滤波器(MAX297+LTC1068)
  8. 文件系统性能测试工具 FIO工具
  9. 斐讯k2路由虚拟服务器,斐讯K2T分离式无线路由器 新思路解决老问题(无线信号那些事)...
  10. 一篇经典的 Redis 面试资料「处女座笔记」「吐血推荐」...
  11. border和boder-radius
  12. 官方教你如何为centos 7.x 安装Broadcom无线网卡驱动
  13. 远程桌面计算机用户名,远程桌面设置及使用
  14. Cutting a Rod
  15. 拒绝年费自己组建MarkdownNice转微信公众号格式神器
  16. 如何修改C盘下的用户名
  17. ARM体系架构—ARMv7-A处理器模式及寄存器
  18. 换内存条的过程(自己电脑换的整个过程记录分享)
  19. 判断sign签名(json格式)
  20. CF628 C.C. Ehab and Path-etic MEXs(思维+拓扑排序)

热门文章

  1. 所谓领导力,指的是这21种能力
  2. 鸡啄米:C++编程入门系列之三(VS2010的使用介绍)
  3. STM32可用的QRCODE二维码生成库
  4. 一次 ASAN 找不到 symbolizer 问题的分析与解决
  5. 中国大学mooc微型计算机答案,微机系统-中国大学mooc-题库零氪
  6. 数据库防火墙技术展望【终章】
  7. ssh-keygen命令使用
  8. 云有约 | 首攻RSA,天空卫士“秀肌肉”怎么样了?
  9. 二手不是垃圾,回收再生才是主流——GRS
  10. 初探巨杉分布式数据库