#427. 伏犬的魔法果园
伏犬的魔法果园
题目描述
伏犬有一个魔法果园,里面一共有 棵苹果树,编号为 。这些苹果树之间通过 条魔法线相连,每一条魔法线可以连接两棵不同的苹果树,不存在两条魔法线连接的两对苹果树是完全相同的。
某日果园受到扰乱,魔法线的连接结构全都变了,这可把伏犬弄懵逼了。因为以前他是知道这些魔法线恰好能将这些苹果树全部连通的,意思是,对于任意两棵苹果树,它们总能经过若干条魔法线直接或间接地连接上。而现在它们是不是全部连通的就是个未知数了。
伏犬还要忙着织毛衣,所以他没空,希望你能帮他判断一下,现在这些苹果树是否还是全部连通的。如果不连通,那么伏犬就要花费大量的精力去修正了,如果连通的话,你还需要帮他重新构建游客指引。
因为魔法果园是一个9A级景点,游客参观量是非常大的。果园的 号苹果树最为健壮,它种在大门口,游客们首先会被引导到这里。接下来,游客们总是随着魔法线的指引进行后续的参观。因为果园只有一个出入口且游客们的体力有限,所以他们总是会希望知道,自己当前距离 号苹果树的最短距离是多少。
输入格式
第一行一个正整数 表示果园里的苹果树个数。
接下来 行,每行两个正整数 表示编号为 的苹果树和编号为 的苹果树之间有一条魔法线。每条魔法线的距离长度都是 。
输出格式
第一行一个字符串“Yes”或“No”(不包括引号)表示果园里的苹果树是否全部连通。
如果答案为“Yes”,则接下来还有一行 个非负整数,其间用空格隔开,其中第 个数表示编号为 的苹果树距离编号为 的苹果树的最短距离是多少。
样例
样例输入1
3
1 2
1 3
样例输出1
Yes
0 1 1
样例输入2
4
1 4
1 2
2 4
样例输出2
No
数据范围与提示