atcoder#ABC257F. [ABC257F] Teleporter Setting

[ABC257F] Teleporter Setting

题目描述

N N 個の町と M M 個のテレポーターがあり、 町は町 1 1 , 町 2 2 , \ldots , 町N N と番号づけられています。
それぞれのテレポーターは 2 2 つの町を双方向に結んでおり、テレポーターを使用する事によってその 2 2 つの町の間を 1 1 分で移動することができます。

i i 番目のテレポーターは町 Ui U_i と町 Vi V_i を双方向に結んでいますが、 いくつかのテレポーターについては結ぶ町の片方が決まっておらず、 Ui=0 U_i=0 のときそのテレポーターが結ぶ町の片方は町 Vi V_i であるが、 もう片方が未定であることを意味します。

i=1,2,,N i=1,2,\ldots,N それぞれについて、次の問題を解いてください。

結ぶ町の片方が未定となっているテレポーターの結ぶ先をすべて町 i i とする。 この時に町 1 1 から町 N N まで移動するのに最小で何分かかるか求めよ。 町 1 1 から町 N N までテレポーターのみを使って移動するのが不可能な場合は 1 -1 を出力せよ。

输入格式

入力は以下の形式で標準入力から与えられる。

N N M M U1 U_1 V1 V_1 U2 U_2 V2 V_2 \vdots UM U_M VM V_M

输出格式

N N 個の整数を空白区切りで出力せよ。 ここで、k k 番目の整数は i=k i=k とした時の問題に対する答えである.

题目大意

存在 n n 个小镇,m m 条传送通道,第 i i 条双向连结 ui,vi u_i, v_i 两个小镇,经过每个传送通道需要花费 1 1 分钟。特别地,可能存在 ui=0 u_i = 0 ,表示该条传送通道只规定了一端,另一端待定。存在 n n 个独立询问,对于 i=1,2,,n i = 1, 2, \cdots, n ,钦定所有未确定的 ui u_i 均为 i i ,求从小镇 1 1 到小镇 n n 最小耗费的时间。若无法到达输出 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

提示

制約

  • 2  N  3× 105 2\ \leq\ N\ \leq\ 3\times\ 10^5
  • 1 M 3× 105 1\leq\ M\leq\ 3\times\ 10^5
  • 0 Ui < Vi N 0\leq\ U_i\ <\ V_i\leq\ N
  • i  j i\ \neq\ j ならば (Ui,Vi) (Uj,Vj) (U_i,V_i)\neq\ (U_j,V_j)
  • 入力は全て整数

Sample Explanation 1

結ぶ先が未定となっているテレポーターの結び先を町 1 1 としたとき、 1 1 番目と 2 2 番目のテレポーターはともに町 1 1 と町 2 2 を結びます。 このとき、町 1 1 から町 3 3 への移動はできません。 結ぶ先が未定となっているテレポーターの結び先を町 2 2 としたとき、 1 1 番目のテレポーターは町 2 2 同士を、 2 2 番目のテレポーターは町 1 1 と町 2 2 を結びます。 このときもやはり、町 1 1 から町 3 3 への移動はできません。 結ぶ先が未定となっているテレポーターの結び先を町 3 3 としたとき、 1 1 番目のテレポーターは町 3 3 と町 2 2 を、 2 2 番目のテレポーターは町 1 1 と町 2 2 を結びます。 この時、次のようにして町 1 1 から町 3 3 2 2 分で移動できます。 - 2 2 番目のテレポーターを使用し、町 1 1 から町 2 2 まで移動する。 - 1 1 番目のテレポーターを使用し、町 2 2 から町 3 3 まで移動する。 よって、1,1,2 -1,-1,2 をこの順に出力します。 結ぶ先が未定となっているテレポーターの結び先によっては、 同じ町同士を結ぶテレポーターが存在する可能性や、 ある 2 2 つの町を結ぶテレポーターが複数存在する可能性がある事に注意してください。