/ Vijos / 题库 /

奶牛篱笆

奶牛篱笆

时间限制:1秒  内存限制:256M


【题目描述】

  农民John想让奶牛们准备乡村跳绳比赛,所以贝茜和一群奶牛都在准备跳过篱笆。因为它们都太累了,它们都想用尽量少的能量去跳过尽量高的篱笆。显然,跳过几个矮篱笆对奶牛来说并不困难,但跳过一个高的篱笆还是有压力的。因此,奶牛们只关心高度在它们能跳过最高的篱笆以下的篱笆。

  奶牛们的练习房有 \(N\) 个位置,方便起见,我们用 \(1..N\) 来标记。一个有 \(M\) 个元素的集合,表示连接一对位置的单向道路,也被标记为 \(1..M\)。道路 \(i\) 从位置 \(S_i\) 到位置 \(E_i\) 并且包含一个篱笆高度 \(H_i\)。奶牛们在它们经过的路上必须跳过篱笆。

  奶牛有 \(T\) 个任务要完成。任务 \(i\) 包含两个不同的数 \(A_i\) 和 \(B_i(1 ≤ A_i,B_i ≤ N)\),表示一头奶牛必须从位置 \(A_i\) 到位置 \(B_i\) (通过穿过一条或多条路)。奶牛们当它们从 \(A_i\) 到 \(B_i \)时,想走一条跳过的最高的篱笆最小的路。你的任务是写一个程序计算出这个最小的高度。

【输入格式】

  第一行:三个用空格隔开的整数:\(N,M\) 和 \(T\)。  
  第二行至第 \(M+1\) 行:第 \(i+1\) 行包含三个用空格隔开的整数:\(S_i,E_i\) 和 \(H_i(1≤ H_i ≤ 1000000)\)  
  第 \(M+2\) 行至第 \(M+T+1\) 行:第 \(i+M+1\) 行包含两个用空格隔开的用来描述任务 \(i\) 的整数 \(A_i\) 和 \(B_i\)。

【输出格式】

  第一行至第 \(T\) 行:第 \(i\) 行包含任务 \(i\) 的结果,要求输出满足条件的最小高度。如果在两个位置中不可能满足条件则输出-1。

【输入输出样例】

 Input

5 6 3
1 2 12
3 2 8
1 3 5
2 5 3
3 4 4
2 4 8
3 4
1 2
5 1

 Output

4
8
-1

【数据限制】

  对于 \(100\%\) 的数据,\(1≤N≤300\),\(1≤M≤25000\),\(1≤T≤40000\)。

【来源】

  Mr.he

信息

ID
2270
难度
(无)
分类
图结构 | 最短路 点击显示
标签
(无)
递交数
0
已通过
0
通过率
?
被复制
2
上传者