정점이 N개인 트리가 주어질 때, 1부터 N-1까지의 각 K에 대해 트리의 간선을 길이 K인 경로들로 나눌 수 있는지 판별한다.
어려움8트리DFS그리디정수론아직 제출이 없습니다시간 제한2초메모리 제한512 MBFarmer John's farm consists of N pastures (2≤N≤105) connected by N−1 roads, so that any pasture is reachable from any other pasture. That is, the farm is a tree. But after 28 years of dealing with the tricky algorithmic problems that inevitably arise from trees, FJ has decided that a farm in the shape of a tree is just too complex. He believes that algorithmic problems are simpler on paths.
Thus, his plan is to partition the set of roads into several paths, and delegate responsibility for each path to a worthy farm hand. To avoid contention, he wants each path to be the same length. He wonders for which lengths there exists such a partition.
More precisely, for each 1≤K≤N−1, help Farmer John determine whether the roads can be partitioned into paths of length exactly K.
The first line contains a single integer N.
The next N−1 lines each contain two space-separated integers a and b describing an edge between vertices a and b. Each of a and b is in the range 1…N.
Output a bit string of length N−1. For each 1≤K≤N−1, the Kth bit of this string from the left should equal one if it is possible to partition the edges of the tree into paths of length exactly K and 0 otherwise.
It is possible to partition this tree into paths of length K for K=1,2,3. For K=3, a possible set of paths is as follows:
13−12−11−8,10−9−8−6,7−6−2−3,5−4−2−1