#CSES1671. 最短路径 I

最短路径 I

题目描述

nn 个城市和 mm 条航班连接它们。你的任务是确定从 Syrjälä(城市 11)到每个城市的最短路径长度。每个航班都是单向的,并有一个长度。可以假设从城市 11 可以到达所有其他城市。

输入格式

第一行包含两个整数 nnmm:分别表示城市的数量和航班连接的数量。城市编号为 1,2,,n1,2,\dots,n,城市 11 是 Syrjälä。

接下来的 mm 行,每行包含三个整数 aa, bb, cc:表示一条从城市 aa 到城市 bb 的单向航班,航班的长度是 cc

输出格式

输出 nn 个整数,用空格分隔,表示从城市 11 到城市 1,2,,n1,2,\dots,n 的最短路径长度。

样例

3 4
1 2 6
1 3 2
3 2 3
1 3 4
0 5 2

样例解释
从城市 11 到城市 11 的距离为 00。到城市 22 的最短路径为 1321\to3\to2,长度 2+3=52+3=5。到城市 33 的最短距离为 131\to3,长度为 22

数据范围

  • 1n1051 \le n \le 10^5
  • 1m2×1051 \le m \le 2 \times 10^5
  • 1a,bn1 \le a,b \le n
  • 1c1091 \le c \le 10^9