3637 - 最短路1

题目描述

给定一个有 N 个顶点和 M 条边的无向图。每个顶点标有从 1N 的编号,第 i 条边连接顶点 A_i 和顶点 B_i

对于所有 1N 的整数 k,回答以下问题:

从顶点 1 到顶点 k,考虑通过边移动,请输出所需边数的最小值。如果不可能移动到达,则输出 -1

输入

第一行两个数,分别为 NM

接下来 M 行,每行两个数 A_i,B_i

输出

总共输出 N 行。

i 行输出 k=i 时的答案。

样例

输入

3 2
1 3
2 3

输出

0
2
1

输入

6 6
1 4
2 3
3 4
5 6
1 2
2 4

输出

0
1
2
1
-1
-1
说明

数据范围与提示

样例1说明

从顶点 1 到顶点 1,我们认为不需要经过任何边,所以边数为 0

从顶点 1 到顶点 2 移动时,沿 1 \rightarrow 3 \rightarrow 2 路径移动可以使边数最小。

从顶点 1 到顶点 3 移动时,沿 1 \rightarrow 3

路径移动可以使边数最小。

样例2说明

给定的图不一定是连通的。

数据范围

  • 1 \leq N \leq 10^5

  • 0 \leq M \leq \min(10^5,\frac{N(N-1)}{2})

  • 1 \leq A_i < B_i \leq N

  • 图中不存在重边或自环

题目参数
时间限制 1 秒
内存限制 128 MB
提交次数 6
通过人数 4
金币数量 3 枚
难度 基础


上一题 下一题