AT_past202203_k.旅行計画

通过率:0%

AC君温馨提醒

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

题目描述

给定一个有 NN 个顶点、MM 条边的带权有向图。

顶点编号为 11 到 NN。
第 ii 条边(1≤i≤M1 \leq i \leq M)从顶点 uiu_i 指向顶点 viv_i,其权重为 wiw_i。

对于 k=1,2,…,Nk=1,2,\ldots,N,请解决以下问题:

  • 判断是否存在一条从顶点 11 出发,至少经过一次顶点 kk,最终到达顶点 NN 的路径;如果存在,请输出这些路径中最短的长度。

输入格式

输入以如下格式从标准输入给出。

NN MM
u1u_1 v1v_1 w1w_1
u2u_2 v2v_2 w2w_2
⋮\hspace{0.8cm}\vdots
uMu_M vMv_M wMw_M

输出格式

请输出 NN 行。对于第 ii 行(1≤i≤N1 \leq i \leq N),输出 k=ik=i 时的答案:

  • 如果存在一条从顶点 11 出发,至少经过一次顶点 kk,最终到达顶点 NN 的路径,则输出这些路径中最短的长度。
  • 如果不存在这样的路径,则输出 -1。

输入输出样例

  • 输入#1

    3 3
    1 2 3
    2 3 4
    1 3 2

    输出#1

    2
    7
    2
  • 输入#2

    5 10
    2 1 1
    2 5 5
    1 2 6
    2 5 4
    5 3 2
    1 3 1
    1 3 4
    3 5 4
    1 5 3
    5 2 3

    输出#2

    3
    10
    5
    -1
    3

说明/提示

数据范围

  • 2≤N≤2×1052 \leq N \leq 2 \times 10^5
  • 1≤M≤2×1051 \leq M \leq 2 \times 10^5
  • 1≤ui,vi≤N1 \leq u_i, v_i \leq N
  • ui≠viu_i \neq v_i
  • 1≤wi≤1091 \leq w_i \leq 10^9
  • 输入均为整数

样例解释 1

  • 当 k=1k=1 时,直接通过第 33 条边到达顶点 33 的路径最短。
  • 当 k=2k=2 时,先通过第 11 条边到达顶点 22,再通过第 22 条边到达顶点 33 的路径最短。
  • 当 k=3k=3 时,直接通过第 33 条边到达顶点 33 的路径最短。

由 ChatGPT 4.1 翻译

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

首页