#abc257f. [abc257_f]Teleporter Setting

[abc257_f]Teleporter Setting

题目描述

NN 个标号为 Town 11, Town 22, ldots\\ldots, Town NN 的城镇。
还有 MM 个「传送器」,每个传送器可以双向连接两个城镇,使得一个人在一分钟内从一个城镇旅行到另一个城镇。

ii 个传送器双向连接 Town UiU_i 和 Town ViV_i。然而,对于某些传送器,其中一个连接的城镇是不确定的;Ui=0U_i=0 表示第 ii 个传送器连接的城镇是 Town ViV_i,但另一端是不确定的。

对于 i=1,2,ldots,Ni=1,2,\\ldots,N,回答以下问题。

当不确定末端的传送器都确定连接到 Town ii 时,从 Town 11 到 Town NN 最少需要多少分钟?如果只使用传送器无法从 Town 11 到 Town NN,则打印 1-1

约束条件

  • 2leqNleq3times1052 \\leq N \\leq 3\\times 10^5
  • 1leqMleq3times1051\\leq M\\leq 3\\times 10^5
  • 0leqUi<VileqN0\\leq U_i<V_i\\leq N
  • 如果 ineqji \\neq j,则 (Ui,Vi)neq(Uj,Vj)(U_i,V_i)\\neq (U_j,V_j)
  • 输入中的所有值均为整数。

输入

输入以以下格式从标准输入给出:

NN MM U1U_1 V1V_1 U2U_2 V2V_2 vdots\\vdots UMU_M VMV_M

输出

以空格分隔,打印 NN 个整数。第 kk 个整数应为当 i=ki=k 时的答案。

示例输入1

3 2
0 2
1 2

示例输出1

-1 -1 2

当不确定末端的传送器都确定连接到 Town 11 时, 第 11 个和第 22 个传送器都连接 Town 11 和 Town 22。那么,从 Town 11 到 Town 33 是不可能的。

当不确定末端的传送器都确定连接到 Town 22 时, 第 11 个传送器连接 Town 22 和自身,第 22 个传送器连接 Town 11 和 Town 22。同样,从 Town 11 到 Town 33 是不可能的。

当不确定末端的传送器都确定连接到 Town 33 时, 第 11 个传送器连接 Town 33 和 Town 22,第 22 个传送器连接 Town 11 和 Town 22。在这种情况下,我们可以在两分钟内从 Town 11 到 Town 33

  • 使用第 22 个传送器从 Town 11 到 Town 22
  • 使用第 11 个传送器从 Town 22 到 Town 33

因此,应按顺序打印 1,1-1,-122

注意,根据不确定末端的传送器连接到哪个城镇,可能有一个连接到自身的传送器,或者多个连接到同一对城镇的传送器。

示例输入2

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

示例输出2

3 3 3 3 2