#5579. [Usaco2020 Feb]Delegation

内存限制:512 MiB 时间限制:10 Sec

题目描述

FarmerJohn的农场由N块草地(1≤N≤10^5)和N−1条道路组成,
满足每块草地都能从任意其他草地到达。也就是说,这个农场组成一棵树。
但在与不可避免地由树而生的麻烦的算法问题打了28年交道之后,
FJ终于认为树形的农场太复杂了。他相信在链上的算法问题更简单。
所以,他的计划是将这些道路划分成若干条链,并将每条链交给一名值得信任的农场工人负责。为了避免争执,他希望每条链的长度相同。他想知道对于哪些长度存在这样的划分。
更具体地,对于每个1≤K≤N−1,
帮助FarmerJohn求出这些道路是否能被划分为长度恰好为K的链。

输入格式

第一行包含一个整数N。
以下N−1行每行包含两个空格分隔的整数a和b,
表示结点a与b之间有一条边。
a和b均在范围1…N内。

输出格式

输出一个长为N−1的二进制字符串。对于每一个1≤K≤N−1,
如果可以将树的边划分为长度恰好为K的链,
则字符串从左往右数第K位为1,否则为0。

样例

样例输入


			
13
1 2
2 3
2 4
4 5
2 6
6 7
6 8
8 9
9 10
8 11
11 12
12 13

样例输出


			
111000000000
对于 K=1,2,3,有可能将树划分为长为 K 的链。
对于 K=3,一种可能的划分方式如下:
13−12−11−8,10−9−8−6,7−6−2−3,5−4−2−1

数据范围与提示