A63 - Shortest Path 1
Editorial
/
Time Limit: 1 sec / Memory Limit: 1024 MB
配点 : 1000 点
問題文
N 頂点 M 辺の無向グラフが与えられます。各頂点には 1 から N までの番号が付けられており、i 番目の辺は頂点 A_i と頂点 B_i を結んでいます。
1 以上 N 以下の全ての整数 k について、以下の問いに答えてください。
頂点 1 から頂点 k まで、辺を何本かたどって移動することを考えるとき、たどるべき辺の本数の最小値を出力せよ。ただし、移動不可能な場合は -1 を出力せよ。
制約
- 入力はすべて整数
- 1 \le N \le 10^5
- 0 \le M \le \min(10^5,\frac{N(N-1)}{2})
- 1 \le A_i < B_i \le N
- グラフに多重辺や自己ループは存在しない
入力
入力は以下の形式で標準入力から与えられる。
N M A_1 B_1 A_2 B_2 \vdots A_M B_M
出力
全体で N 行出力してください。
i 行目には、 k=i の場合の答えを出力してください。
入力例 1
3 2 1 3 2 3
出力例 1
0 2 1
- 頂点 1 から頂点 1 には、 0 本の辺を辿って移動可能であるとします。
- 頂点 1 から頂点 2 に移動する際、 1 \rightarrow 3 \rightarrow 2 と移動すると辿る辺の数が最小になります。
- 頂点 1 から頂点 3 に移動する際、 1 \rightarrow 3 と移動すると辿る辺の数が最小になります。
入力例 2
6 6 1 4 2 3 3 4 5 6 1 2 2 4
出力例 2
0 1 2 1 -1 -1
与えられるグラフが連結であるとは限りません。