#481. 产品检测

产品检测

题目描述

工厂为了生产一种复杂的产品,给各个生产部门制定了详细的生产计划。那么,就经常会有生产部门要把产品送到另一个生产部门作为原料。这是一个注重产品质量的工厂,所以每当有产品要从A部门运到B部门时,都要先从A部门送到质量检验处,检验合格后再从质量检验处运到B部门。 有些部门之间有传送带连接,厂长想知道每次将产品从一个部门运送到另一个部门最少需要多长时间。

输入格式

第一行两个整数 n,mn,mnn 表示部门数量,mm 表示传送带数量。出于方便,11 号部门是质量检验处。

接下来 mm 行,每行三个整数 u,v,wu,v,w,表示有一条从 uu 部门到 vv部门的传送带,传送过去需要 ww 个单位时间。注意传送带是单向的。

接下来一个整数 qq,表示有 qq 次运送。

接下来 qq 行,每行两个数 a,ba,b,表示这一次要将产品从 aa 部门运送到 bb 部门。

输出格式

输出 qq 行,每行一个整数,表示这次运送最少需要的时间。若没有传送方案,输出 -1

5 5
1 2 3
1 3 5
4 1 7
5 4 1
5 3 1
3
4 2
5 3
2 3
10
13
-1

数据范围

2n30002≤n≤3000

1m1051 \le m≤10^5

2a,bn2≤a,b≤n

1q1051 \le q≤10^5

1u,vn1≤u,v≤n

uvu \neq v

1w100001≤w≤10000

有些部门之间可能有多条传送带。