atcoder#ABC218F. [ABC218F] Blocked Roads

[ABC218F] Blocked Roads

配点 : 500500

問題文

NN 頂点 MM 辺の有向グラフが与えられます。頂点には 11 から NN の番号、辺には 11 から MM の番号がついています。辺 i(1iM)i\,(1 \leq i \leq M) は頂点 sis_i から頂点 tit_i に向かう長さ 11 の辺です。

i(1iM)i\,(1 \leq i \leq M) について、辺 ii のみ通れないときの頂点 11 から頂点 NN までの最短距離を求めてください。ただし、頂点 11 から頂点 NN にたどり着けない場合は -1 を出力してください。

制約

  • 2N4002 \leq N \leq 400
  • 1MN(N1)1 \leq M \leq N(N-1)
  • 1si,tiN1 \leq s_i,t_i \leq N
  • sitis_i \neq t_i
  • (si,ti)(sj,tj)(s_i,t_i) \neq (s_j,t_j) (ij)(i \neq j)
  • 入力は全て整数である。

入力

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

NN MM

s1s_1 t1t_1

s2s_2 t2t_2

\vdots

sMs_M tMt_M

出力

MM 行出力せよ。

ii 行目には、辺 ii のみ通れないときの頂点 11 から頂点 NN までの最短距離を出力せよ。ただし、頂点 11 から頂点 NN にたどり着けない場合は -1 を出力せよ。

3 3
1 2
1 3
2 3
1
2
1
4 4
1 2
2 3
2 4
3 4
-1
2
3
2

11 のみ通れないとき、頂点 11 から頂点 NN にたどり着けないので -1 を出力します。

5 10
1 2
1 4
1 5
2 1
2 3
3 1
3 2
3 5
4 2
4 3
1
1
3
1
1
1
1
1
1
1
4 1
1 2
-1