AT_abc143_e.[ABC143E] Travel by Car

普及+/提高

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

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

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

请回答以下 QQ 个询问:

  • 一开始,汽车油箱是满的。每个询问给定从城镇 sis_i 到城镇 tit_i,请输出途中最少需要加油多少次才能到达。如果无法到达,请输出 1-1

输入格式

输入以如下格式从标准输入读入。

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

输出格式

输出 QQ 行。

ii 行输出从城镇 sis_i 到城镇 tit_i 最少需要加油的次数。如果无法到达城镇 tit_i,输出 1-1

输入输出样例

  • 输入#1

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

    输出#1

    0
    1
  • 输入#2

    4 0 1
    1
    2 1

    输出#2

    -1
  • 输入#3

    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

    输出#3

    0
    0
    1
    2
    0
    0
    1
    2
    0
    0
    0
    1
    1
    1
    0
    0
    2
    2
    1
    0

说明/提示

限制条件

  • 所有输入均为整数。
  • 2N3002 \leq N \leq 300
  • 0MN(N1)20 \leq M \leq \frac{N(N-1)}{2}
  • 1L1091 \leq L \leq 10^9
  • 1Ai,BiN1 \leq A_i, B_i \leq N
  • AiBiA_i \neq B_i
  • (Ai,Bi)(Aj,Bj)(A_i, B_i) \neq (A_j, B_j)(当 iji \neq j 时)
  • (Ai,Bi)(Bj,Aj)(A_i, B_i) \neq (B_j, A_j)(当 iji \neq j 时)
  • 1Ci1091 \leq C_i \leq 10^9
  • 1QN(N1)1 \leq Q \leq N(N-1)
  • 1si,tiN1 \leq s_i, t_i \leq N
  • sitis_i \neq t_i
  • (si,ti)(sj,tj)(s_i, t_i) \neq (s_j, t_j)(当 iji \neq j 时)

样例解释 1

从城镇 33 到城镇 22 时,可以直接通过第 22 条道路到达,无需中途加油。从城镇 11 到城镇 33 时,先通过第 11 条道路到达城镇 22,在此加满油,再通过第 22 条道路到达城镇 33

样例解释 2

有可能没有任何道路。

首页