SDUT最短路径问题 1867————最短路
//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————最短路相关推荐
- 九度OJ 1008:最短路径问题 (最短路)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:8064 解决:2685 题目描述: 给你n个点,m条无向边,每条边都有长度d和花费p,给你起点s终点t,要求输出起点到终点的最短距离及其花费 ...
- SSL 1613——最短路径问题(最短路)
Description 平面上有n个点(N<=100),每个点的坐标均在-10000~10000之间.其中的一些点之间有连线.若有连线,则表示可从一个点到达另一个点,即两点间有通路,通路的距离为 ...
- 两种最短路径(测地距离)的算法——Dijkstra和Floyd
从某顶点出发,沿图的边到达另一顶点所经过的路径中,各边上权值之和最小的一条路径叫做最短路径.解决最短路的问题有以下算法,Dijkstra算法,Bellman-Ford算法,Floyd算法和SPFA算法 ...
- 迪杰斯特拉算法 php,最短路径算法
从某顶点出发,沿图的边到达另一顶点所经过的路径中,各边上权值之和最小的一条路径叫做最短路径.解决最短路的问题有以下算法,Dijkstra算法,Bellman-Ford算法,Floyd算法和SPFA算法 ...
- 标号法(Dijkstra)求最短路 matlab
Dijkstra算法研究的是从初始点到其他每一节点的最短路径 在求解最短路之前需要将权重矩阵写出,在写的时候需要注意不连通的两个地点要设置成一个无限大的数,在matlab中为inf. 对应的权重矩阵应 ...
- python贪心算法最短路径_dijkstra算法(贪心算法)——解决最短路径问题
最短路径 给定一张带权图和其中的一个点(作为源点),求源点到其余顶点的最短路径 基本思想 1)源点u,所有顶点的集合V,集合S(S中存有的顶点,他们到源点的最短路径已经确定,源点u默认在S中),集合V ...
- 最短路算法的证明_彻底搞懂最短路算法
只想说:温故而知新,可以为师矣.我大二的<数据结构>是由申老师讲的,那时候不怎么明白,估计太理论化了(ps:或许是因为我睡觉了):今天把老王的2011年课件又看了一遍,给大二的孩子们又讲了 ...
- 单源(多源)最短路算法Dijkstra、Bellman-Ford、SPFA
最短路算法 单源最短路:即一个点到任意点的最短路径 多源最短路:即任意一点到任意一点的最短路径 Dijkstra算法: 这个算法是通过点去更新最短路,每次找离源点最近的一个顶点,然后以该顶点为中心进行 ...
- 集体智慧及其常用算法
集体智慧定义 是指由许多的个体通过合作与竞争中所显现出来的智慧,集体智慧是一种共享的或者群体的智能.它是从许多个体的合作与竞争中涌现出来的.集体智慧在细菌.动物.人类以及计算机网络中形成,并以多种形式 ...
- 最大流最小费用java_最小费用最大流及算法
最大流的网络,可看作为辅送一般货物的运输网络,此时,最大流问题仅表明运输网络运输货物的能力,但没有考虑运送货物的费用.在实际问题中,运送同样数量货物的运输方案可能有多个,因此从中找一个输出费用最小的的 ...
最新文章
- Makefile和automake中判断CPU位数
- Kafka本身的架构
- python中的ix是啥_python pandas (ix iloc loc) 的区别
- 精通Android自定义View(十一)绘制篇Canvas分析之裁剪
- docker运行镜像报错:write init-p: broken pipe
- syntax error near unexpected token `then'
- matlab程控开关,基于单片机和FPGA设计的程控滤波器(MAX297+LTC1068)
- 文件系统性能测试工具 FIO工具
- 斐讯k2路由虚拟服务器,斐讯K2T分离式无线路由器 新思路解决老问题(无线信号那些事)...
- 一篇经典的 Redis 面试资料「处女座笔记」「吐血推荐」...
- border和boder-radius
- 官方教你如何为centos 7.x 安装Broadcom无线网卡驱动
- 远程桌面计算机用户名,远程桌面设置及使用
- Cutting a Rod
- 拒绝年费自己组建MarkdownNice转微信公众号格式神器
- 如何修改C盘下的用户名
- ARM体系架构—ARMv7-A处理器模式及寄存器
- 换内存条的过程(自己电脑换的整个过程记录分享)
- 判断sign签名(json格式)
- CF628 C.C. Ehab and Path-etic MEXs(思维+拓扑排序)