时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
公元2200年科学家发明了点对点传送门,随后基建狂魔发挥了优良传统,在城市之间进行了大规模建设。
现在你接到了一个任务,上级给你发了一份资料,这份资料是XX地区的传送门建设规划资料,共M条。
领导要求你完成这些任务,使得这个地区的N座城市可以互相传送,你比较喜欢摸鱼,于是你想知道完成任务的最短时间。如果无法完成任务,则输出-1。
注意:A市与B市可以利用C市中转,可以算互相传送。只要达到N座城市可以互相传送的目的就可以,所以规划资料不一定全部建设。
输入描述:
第一行有两个整数N,M
接下来M行 每行三个整数 A,B,T 代表了A与B市T时间完成了一对传送门建设
输出描述:
请输出完成任务的最短时间。如果无法完成任务,则输出-1。
示例1
输入
复制
5 6
1 2 10
4 5 9
2 3 5
3 1 11
3 4 7
3 5 20
说明
2与3在时间5完成建设
3与4在时间7完成建设
4与5在时间9完成建设
1与2在时间10完成建设
1-2-3-4-5 五座城市连接完成
备注:
对于30%

对于100%
