#1192. 【模板】单源最短路径(弱化版)

【模板】单源最短路径(弱化版)

题目背景

弱化版的原题使用随机数据。考试中若遇到专门构造的图,SPFA 可能无法在时限内完成。标准版《单源最短路径》中的数据可用于比较。

题目描述

给出一张有向图以及一个出发点 ss,求从 ss 到图中每个顶点的最短路径长度。

输入格式

首行给出三个整数 n,m,sn,m,s,依次为点数、有向边数和源点编号。

随后 mm 行各含三个整数 u,v,wu,v,w,表示一条从 uu 指向 vv、长度为 ww 的边。

输出格式

输出一行 nn 个整数,依次表示 ss 到顶点 11 至 nn 的最短距离。无法到达的顶点输出 231−12^{31}-1,即 2147483647。

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

说明/提示

原题的分档数据范围如下。

数据比例 条件
20% 1≤n≤5, 1≤m≤151\le n\le5,\ 1\le m\le15
40% 1≤n≤100, 1≤m≤1041\le n\le100,\ 1\le m\le10^4
70% 1≤n≤1000, 1≤m≤1051\le n\le1000,\ 1\le m\le10^5
100% $1\le n\le10^4,\ 1\le m\le5\times10^5,\ 1\le u,v\le n,\ w\ge0,\ \sum w<2^{31}$

原题使用随机数据。2022 年 7 月 29 日的更新特别说明,同一对顶点之间可能有多条边。标准版《单源最短路径》的数据范围与本题略有不同。

样例说明

样例各条有向边的权值及最短路

图中每条有向边的标号表示其权值。源点为 11,到自身的距离为 00。到 22 直接走权为 22 的边。到 33 经过 22,路程为 2+2=42+2=4。到 44 也经过 22,路程为 2+1=32+1=3。