某国的公路网由 n 个城镇(编号 1∼n)和 m 条连接两个相异城镇的双向公路组成,每条公路有其长度,以公里表示。最近该国流行起电动车,但是公路之间都没有充电站,电动车只能在城镇充电。该国交通部门官员十分担心有些被观光局规划好的旅程会使电动车的续航力没办法走完一条公路,也因此,官员希望旅程中使用到的最长公路长度要尽量短,否则若有些电动车的实际续航力低于一段公路的长度,它们一定会在公路中间没电。
对于一趟被规划好的旅程,观光局会为其决定好一个起点 u 和终点 v,并找出 两条 由 u 到 v 公路相互不重复 的路径,来作为一个完整的旅程规划。例如下图是一个 n=7、m=9 的例子,点上标示城镇的编号,边上标示公路的长度。
若要规划城镇 1 到城镇 2 的旅程,可以采用以下两条路径:
1→2 以及 1→3→2
这两条路径中,所使用到的最长公路长度是 8 公里,但若采用以下两条路径:
1→2 以及 1→3→5→2
就可以将使用的最长公路长度降低至 5,也是使最长公路最短的选择方式。而若要规划城镇 1 到城镇 6 的旅程,可以采用以下两条路径:
1→3→6 以及 1→2→5→3→4→6
使用的最长公路长度是 7,同时也是使最长公路最短的选择方式,注意到虽然这两条路径共用了同一个城镇 3,但条件只要求“使用的公路不重复”,因此为一种满足条件的路径选择方式。
一个旅程的两条路径所使用的最长公路愈短,则该旅程愈佳。今给定 q 对起终点,请写程序计算每对起终点之最佳旅程使用到的最长公路长度,或者回报不存在任何一种路径的选择方式。
p1
p2
⋮
pq
7 9
1 2 5
1 3 3
2 3 8
2 5 3
3 4 3
3 5 4
3 6 2
4 6 7
6 7 6
3
1 2
1 6
3 7
5
7
-1