1655: 航班价格
Memory Limit:128 MB
Time Limit:1.000 S
Judge Style:Text Compare
Creator:
Submit:2
Solved:2
Description
有 n 个城市通过m个航班连接。现给你m个航班信息 flights ,其中 flights[i] = [fromi, toi, pricei] ,表示该航班都从城市 fromi 开始,以价格 pricei 抵达 toi。现在给定出发城市 src 和目的地 dst,你的任务是找到出一条最多经过 k 站中转的路线,使得从 src 到 dst 的 价格最便宜 ,并返回该价格。 如果不存在这样的路线,则输出 -1。
Input
第一行,输入n个城市和m个航班数(1 <=n<=100,1<=m<= (n * (n - 1) / 2))
接下来的m行,每行输入3个航班信息from,to,price。用空格分隔。(0 <= from, to < n,from != to ,1 <= price <= 104)
最后一行,输入出发城市src,目的地dst以及最多经过k站中转数。用空格分隔。(0 <= src, dst, k < n,src != dst)
Output
输出一行,输出从src到dst,最多经过 k 站中转路线的最便宜价格。
Sample Input Copy
3 3
0 1 100
1 2 100
0 2 500
0 2 1
Sample Output Copy
200
HINT
【样例1解释】
说明:城市航班如上图所示,从城市0到城市2,最多经过1站中转的最便宜价格是200,如图中红色所示。
【样例输入2】
3 3
0 1 100
1 2 100
0 2 500
0 2 0
【样例输出2】
500
【样例2解释】
说明:从城市0到城市2在0站中转以内的最便宜价格是500,如图中蓝色所示。