#315. 路径查询

路径查询

题目描述

给你一个 nn 个点 mm 条边的无向图,每条边都有个边权。你要回答 qq 次询问,每次给定 两个点 u,vu,v ,回答所有从 uuvv 的简单路径(即没有重复点的路径)中,第二大的边权的最小值是多少。

如果一条路径,只有一条边,那么我们认为边权第二大的边权为 00

输入格式

第一行,三个整数 n,m,qn,m,q ,分别表示点数,边数和询问个数。

接下来 mm 行,每行三个整数 x,y,wx,y,w ,表示有一条从 xxyy 的边权为 ww 的无向边,保证没有自环,即 xyx≠y ,可能有重边。

接下来 qq 行,每行两个整数 u,vu,v ,表示一个询问,保证 uvu≠v

输出格式

一共 qq 行,对于每个询问,输出一个整数表示答案。如果 u,vu,v 不连通,那么输出 1−1

样例 1 输入

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

样例 1 输出

0
2
-1

样例 2 输入

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

样例 2 输出

2
0
3
2
5

样例 3 输入输出

见下发文件。

数据规模

共十组数据。

测试点 1,2,31,2,3 满足 1n,q100,1m2001 ≤ n,q ≤ 100,1 ≤ m ≤ 200

测试点 4,54,5 满足 1n,q103,1m2×1031 ≤ n,q ≤ 10^3,1 ≤ m ≤ 2 × 10^3

测试点 6,76,7 满足整个图是一棵树。

对于 100%100\% 的数据,满足 1n,q105,1m2×105,1w1091 ≤ n,q ≤ 10^5 , 1 ≤ m ≤ 2 × 10^5, 1 ≤ w ≤ 10^9