#ABC143E. 驾车旅行

驾车旅行

驾车旅行

题目描述

NN 个编号为 11NN 的城镇和 MM 条道路。第 ii 条道路双向连接城镇 AiA_i 和城镇 BiB_i,其长度为 CiC_i

高桥君驾驶汽车在这些城镇之间移动。汽车油箱容量为 LL 升,每移动距离 11 消耗 11 升燃料。途中经过城镇时,可以将燃料补充至油箱加满(也可以选择不补充)。不能在道路中途耗尽燃料。

请回答以下 QQ 个查询。

  • 开始时,汽车油箱是满的。从城镇 sis_i 移动到城镇 tit_i 时,途中至少需要补充几次燃料?如果无法移动到城镇 tit_i,请输出 1-1

输入格式

输入按以下格式从标准输入给出:

NN MM LL
A1A_1 B1B_1 C1C_1
::
AMA_M BMB_M CMC_M
QQ
s1s_1 t1t_1
::
sQs_Q tQt_Q

输出格式

输出 QQ 行。

ii 行输出从城镇 sis_i 移动到城镇 tit_i 时至少需要补充几次燃料。如果无法移动到城镇 tit_i,输出 1-1

样例

3 2 5
1 2 3
2 3 3
2
3 2
1 3
0
1

从城镇 33 移动到城镇 22 时,使用第 22 条道路即可不中途补充燃料到达城镇 22

从城镇 11 移动到城镇 33 时,先使用第 11 条道路移动到城镇 22,将燃料补充至油箱加满,再使用第 22 条道路即可到达城镇 33

4 0 1
1
2 1
-1

可能没有道路。

5 4 4
1 2 2
2 3 2
3 4 3
4 5 2
20
2 1
3 1
4 1
5 1
1 2
3 2
4 2
5 2
1 3
2 3
4 3
5 3
1 4
2 4
3 4
5 4
1 5
2 5
3 5
4 5
0
0
1
2
0
0
1
2
0
0
0
1
1
1
0
0
2
2
1
0

数据范围

  • 输入均为整数
  • 2N3002 \le N \le 300
  • 0MN(N1)20 \le M \le \frac{N(N-1)}{2}
  • 1L1091 \leq L \leq 10^9
  • 1Ai,BiN1 \le A_i, B_i \le N
  • AiBiA_i \neq B_i
  • (Ai,Bi)(Aj,Bj)\left(A_i, B_i\right) \neq \left(A_j, B_j\right)(当 iji \neq j 时)
  • (Ai,Bi)(Bj,Aj)\left(A_i, B_i\right) \neq \left(B_j, A_j\right)(当 iji \neq j 时)
  • 1Ci1091 \leq C_i \leq 10^9
  • 1QN(N1)1 \le Q \le N\left(N-1\right)
  • 1si,tiN1 \le s_i, t_i \le N
  • sitis_i \neq t_i
  • (si,ti)(sj,tj)\left(s_i, t_i\right) \neq \left(s_j, t_j\right)(当 iji \neq j 时)
难度 提高
通过率
尝试 0
已通过 0
ID
1804
类型
传统题
Time Limit
2000ms
Memory Limit
1024MiB
上传者
标签