AT_abc192_e.[ABC192E] Train

普及+/提高

通过率:0%

AC君温馨提醒

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

题目描述

在 AtCoder 国有 NN 个城市,编号为 11 到 NN,以及 MM 条铁路,编号为 11 到 MM。

第 ii 条铁路连接城市 AiA_i 和城市 BiB_i,并且每当时刻为 KiK_i 的倍数时,都会有列车分别从这两个城市发车前往对方。每趟列车从出发到到达需要 TiT_i 的时间。

你现在位于城市 XX。当你在时刻 00 或之后,乘坐从城市 XX 出发的列车开始移动时,求你最早能到达城市 YY 的时间。如果无法到达城市 YY,请报告这一情况。

另外,换乘所需时间可以忽略,因此在任意城市,只要你乘坐的列车到达时刻与另一趟列车的发车时刻相同,你就可以立即换乘。

输入格式

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

NN MM XX YY
A1A_1 B1B_1 T1T_1 K1K_1
⋮\vdots
AMA_M BMB_M TMT_M KMK_M

输出格式

输出你能到达城市 YY 的最早时刻。如果无法到达城市 YY,则输出 −1-1。

输入输出样例

  • 输入#1

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

    输出#1

    7
  • 输入#2

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

    输出#2

    5
  • 输入#3

    3 0 3 1

    输出#3

    -1
  • 输入#4

    9 14 6 7
    3 1 4 1
    5 9 2 6
    5 3 5 8
    9 7 9 3
    2 3 8 4
    6 2 6 4
    3 8 3 2
    7 9 5 2
    8 4 1 9
    7 1 6 9
    3 9 9 3
    7 5 1 5
    8 2 9 7
    4 9 4 4

    输出#4

    26

说明/提示

限制条件

  • 2≤N≤1052 \leq N \leq 10^5
  • 0≤M≤1050 \leq M \leq 10^5
  • 1≤X,Y≤N1 \leq X, Y \leq N
  • X≠YX \neq Y
  • 1≤Ai,Bi≤N1 \leq A_i, B_i \leq N
  • Ai≠BiA_i \neq B_i
  • 1≤Ti≤1091 \leq T_i \leq 10^9
  • 1≤Ki≤1091 \leq K_i \leq 10^9
  • 所有输入均为整数

样例解释 1

首先,在时刻 00 乘坐第 11 条铁路,从城市 11 前往城市 22,于时刻 22 到达城市 22。随后,在时刻 44 乘坐第 22 条铁路,从城市 22 前往城市 33,于时刻 77 到达城市 33。没有比这更早到达城市 33 的方法。

样例解释 2

首先,在时刻 00 乘坐第 22 条铁路,从城市 33 前往城市 22,于时刻 33 到达城市 22。随后,在时刻 33 乘坐第 11 条铁路,从城市 22 前往城市 11,于时刻 55 到达城市 11。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页