#jag2017autumnd. [jag2017autumn_d]Revenge of the Broken Door
[jag2017autumn_d]Revenge of the Broken Door
问题描述
JAG王国由个城市和条双向道路组成。第条道路连接城市和城市,长度为。某一天,作为JAG王国的居民,你决定从城市前往城市。然而,你了解到JAG王国中有一条道路正在施工中,你无法通过这条道路。你不知道是哪条道路在施工。只有当你身处与道路相连的城市时,你才能得知哪条道路正在施工。
你的任务是在最坏情况下最小化路径的总长度。你不需要事先决定要走的路线,可以随时选择下一步去哪里。如果在最坏情况下无法到达城市,输出-1
。
输入
输入包含一个单独的测试用例,格式如下所示。
第一行包含四个整数,,和,其中是城市的数量(),是双向道路的数量(),是你的出发城市(),是你想要到达的城市(, )。接下来的行表示道路信息:行中的第行由三个整数,,组成,表示第条道路连接城市和城市(,),长度为()。如果没有道路在施工,可以假设所有城市对之间都有连接。也就是说,对于所有城市和,存在至少一条通过给定道路的路径从城市到城市。还保证没有重复的边,即对于所有。
输出
输出在最坏情况下的最小总路线长度。如果在最坏情况下无法到达城市,输出-1
。
示例输入1
3 3 1 3
1 2 1
2 3 5
1 3 3
示例输出1
6
示例输入2
4 4 1 4
1 2 1
2 4 1
1 3 1
3 4 1
示例输出2
4
示例输入3
5 4 4 1
1 2 3
2 3 4
3 4 5
4 5 6
示例输出3
-1