2691: 最短 K 倍路

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:1 解决:1

题目描述

给你一个有向无环图,你一定能求出点A到其它点的最短路吧。
对于一个有向无环图,找出A到B的路径长度恰好是K的倍数的路径。这些路径中,最短的是多长呢?

输入

第1行,五个数字,n,m,k,a,b(1<=n,k<=1000,1<=m<=20000,1<=a,b<=n),分别表示图的点数,边数,K的值,起点A,终点B。
接下来m行,每行3个数字x,y,v(1<=x,y<=n,0<=v<=10000), 表 示 从x到y的一条长度为v的有向路径。
保证输入是一个有向无环图。

输出

1行,输出最短K倍路,如果不存在K倍路,请输出-1。

样例输入 复制

5 5 3 1 5
1 2 3
2 3 4
1 3 2
3 4 1
4 5 1

样例输出 复制

9