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

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

题目背景

本题测试数据为随机数据,在考试中可能会出现构造数据让SPFA不通过,如有需要请移步 P4779。

题目描述

如题,给出一个有向图,请输出从某一点出发到所有点的最短路径长度。

输入格式

第一行包含三个整数 n,m,sn,m,s,分别表示点的个数、有向边的个数、出发点的编号。

接下来 mm 行每行包含三个整数 u,v,wu,v,w,表示一条 u→vu \to v 的,长度为 ww 的边。

输出格式

输出一行 nn 个整数,第 ii 个表示 ss 到第 ii 个点的最短路径,若不能到达则输出 231−12^{31}-1。

样例 #1

样例输入 #1

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

样例输出 #1

0 2 4 3

提示

【数据范围】 对于 20%20\% 的数据:1≤n≤51\le n \le 5,1≤m≤151\le m \le 15; 对于 40%40\% 的数据:1≤n≤1001\le n \le 100,1≤m≤1041\le m \le 10^4; 对于 70%70\% 的数据:1≤n≤10001\le n \le 1000,1≤m≤1051\le m \le 10^5; 对于 100%100\% 的数据:1≤n≤1041 \le n \le 10^4,1≤m≤5×1051\le m \le 5\times 10^5,1≤u,v≤n1\le u,v\le n,w≥0w\ge 0,∑w<231\sum w< 2^{31},保证数据随机。

Update 2022/07/29:两个点之间可能有多条边,敬请注意。

对于真正 100%100\% 的数据,请移步 P4779。请注意,该题与本题数据范围略有不同。

样例说明:

图片1到3和1到4的文字位置调换