#p1231. 例题9.1.10 修复网络
例题9.1.10 修复网络
题目描述
焦作一中的机房遭受总创,所有网线失效。机房中共 n 台计算机,标号为 1~n,它们之间任意两台计算机都没有连接。并且,不是任意两台计算机都可以被修复连接,只有其中 p 对电脑之间是可以用网线互相连接的,且网线长度不同。
现在需要恢复焦作一中机房网络,目标是使第 n 台机器能直接或间接地和 1 号计算机通信。
显然有多种修复连线方案完成修复目标,然而焦作一中还是希望能花费尽可能少的代价完成修复。
保险公司可以为焦作一中报销修复过程中 k 对计算机之间的网线费用,其余的网线费用则需要焦作一中 自己负责。修复一条网线所需要的费用为该网线长度。
请计算在能达成修复目标的情况下,焦作一中自己修复的网线中最长的那根线路长度最短可以是多少。
输入格式
输入包括 p + 1 行。
第一行三个整数 n, p, k。
接下来 p 行,每行包含三个整数 a, b, t,表示有一条网线可以连接 a号计算机和 b 号计算机,网线长度为 t。
输出格式
输出包括 1 行。
第一行是一个数字,代表最小花费。如果无法完成目标,则输出-1。
样例数据
input
5 7 1
1 2 5
3 1 4
2 4 8
3 2 3
5 2 9
3 4 7
4 5 6
output
4
数据规模与约定
对于 30%的数据:k<=n<=10, p<=50;
对于 60%的数据:k<=n<=500, p<=1000;
对于 100%的数据:k<=n<=1000, p<=10000。任意两根网线长度相加在 int 范围内。
时间限制:
空间限制: