#P51186. 「POI 2013」价目表 Price List

「POI 2013」价目表 Price List

题目描述

给定一个 nn 个点,mm 条边的无向联通图,每条边的权值均为 aa

原图所有满足 uu 节点和 vv 节点间最短路为 2×a2 \times a 的点对 (u,v)(u,v) 间建立一条无向边,边的权值均为 bb

给定一个起始节点kk,求在上述操作后,kk到所有节点的最短路径。

输入格式

第一行五个正整数:n,m,k,a,bn,m,k,a,b ,表示图的点数,初始的边数,起始节点和两种边的权值。

接下来 mm 行,每行两个正整数 ui,viu_i,v_i ,代表原图中的一条无向边( 1ui,vin1 \leq u_i ,v_i \leq nuiviu_i \neq v_i )。

保证原图联通,即在原图中从 kk 节点出发可以到达所有节点。

输出格式

输出共有 nn 行。

每行一个整数,第 ii 行的数代表操作后 kk 节点和 ii 节点间的最短路。

注意,在第 kk 行你应该输出一个整数 00

样例

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

数据范围与提示

对于 30%30\% 的数据,保证 2n7002 \leq n \leq 7001m7001 \leq m \leq 700

对于 100%100\% 的数据,保证 2n1000002 \leq n \leq 1000001m1000001 \leq m \leq 1000001kn1 \leq k \leq n1a,b10001 \leq a,b \leq 1000