题目描述
给定一棵 个结点的树,结点编号为 ,其中 号结点是根结点,每条边的长度都是 。
一个结点到根结点的距离,就是从它出发走到根结点要经过的边数。
请按编号 的顺序,输出每个结点到根结点的距离。
输入格式
第一行一个整数 。
接下来 行,每行两个整数 (),表示结点 与结点 之间有一条边。边是无向的,两端的先后顺序不固定。
保证给出的图是一棵树。
输出格式
输出一行 个整数,第 个整数表示结点 到根结点 的距离。相邻两个整数之间用一个空格隔开。
样例
输入
5 2 1 3 4 1 3 4 5
输出
0 1 1 2 3
样例解释:这棵树是 、、、。 号点就是根,距离是 ; 号、 号点与根直接相连,距离都是 ; 号点要走 ,距离是 ; 号点要走 ,距离是 。
输入
1
输出
0
样例解释:树里只有一个结点,它就是根,距离是 。
数据范围
对于 的数据,。
本题共 个测试点,每个测试点 分。
提示
从根结点 出发往下走,每走一条边,距离就加 。用一个队列把结点一层一层往里放(BFS)可以做;从 号点开始 DFS,把子结点的距离记成父结点距离加 ,也可以做。