使用该算法的前提:
已知起点,求该点到其他顶点的最短路径,且两点之间的距离必须大于等于0,如果要求任意两点的最短路径就要用Floyd算法。
首先先介绍下这个算法,
1. 两个集合(这是理解用的)s,v,s代表已经得出的起点到该点的最短路径的顶点,(就是一个点固定,然后其余的点到他的距离的最小值的那个点),v代表其余顶点。
2. dist[]数组代表的是到起点的距离(就是固定一个点,然后其余点到他的距离)
3. w[][]记录能够走的线路和各个路径长度
4. flag[]判断是否走过了,就是是否是s中的元素
5. 不断的在v集合中找离s起点最近的点直到把所有的点都找完,然后print (你想要知道的最短路径这里就是不断的循环
题目:
过冬
Description
天气逐渐变冷,年老体弱的越越鸟打算去南方某座温度适宜的城市过冬,但由于翅膀严重老化,最远飞行距离有限,请你为可怜的越越鸟计算飞行所需的最短距离,以让它能做好心理准备。
Input
输入包含多组测试数据。
每组输入第一行为两个正整数n(n<=20)和m(m<=n*(n-1)/2),n表示城市个数,m表示线段个数。(线段为两个城市间的连接线)
接下来m行,每行输入三个整数a,b,和l(l<=10^9&#