#1174. 小蔡同学的传送困境

小蔡同学的传送困境

题目背景

在遥远的「蔡村王国」,小蔡同学被任命为 传送门网络部部长。

全村共有 NN 个村庄,由 MM 个传送门构成基础传送网络。

每个传送门可以连接两个村庄,并支持 双向传送,每次传送耗时 1 分钟。 然而,由于部分施工图纸遗失,有些传送门只记录了一端村庄的信息,另一端暂未确定。

题目描述

你将获得如下信息:

NN:村庄数量(编号为 11NN

MM:传送门数量

每个传送门连接两个村庄 (Ui,Vi)(U_i, V_i)

Ui=0U_i = 0,表示这个传送门的一端是 ViV_i,另一端尚未确定

你的任务是:

对每一个 i=1,2,,Ni = 1, 2, \dots, N,将所有未定传送门的另一端连接到村庄 ii, 然后计算从村庄 11 到村庄 NN 的最短传送时间(以分钟计)。若无法到达,则输出 1-1

输入格式

输入共 M+1M + 1 行:

第一行输入两个整数 N,MN, M

接下来 MM 行,每行两个整数 Ui,ViU_i, V_i

Ui=0U_i = 0,表示未定端点的传送门,仅已知另一端为 ViV_i

否则,该传送门连接村庄 UiU_iViV_i

注意:所有 (Ui,Vi)(U_i, V_i) 均不相同。

输出格式

输出一行 NN 个整数,第 ii 个整数表示:

将所有未定传送门连接到村庄 ii 后,

从村庄 11 到村庄 NN 的最短传送时间

若无法传送到达,则该位置输出 1-1

样例

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

提示

有可能出现 自环(传送门连接同一个村庄)

有可能出现 重边(多条传送门连接同一对村庄)

所有传送门都是 双向可通行

样例1解释

若将未定传送门连接到村庄 1122,无法连通村庄 33

若连接到村庄 33,可形成路径:1231 \rightarrow 2 \rightarrow 3,共耗时 22 分钟

数据范围

存在20%20\%的数据,1N1031 \leq N \leq 10^3,1M1031 \leq M \leq 10^3

100%的数据100\%的数据,2N3×1052 \leq N \leq 3 \times 10^5,1M3×1051 \leq M \leq 3 \times 10^5