#5181. Problem 3. Delegation
0
Problem 3. Delegation
Problem 3. Delegation
USACO 2020 February Contest, Gold
Farmer John 的农场由 块草地()和 条道路组成,满足每块草地都能从任意其他草地到达。也就是说,这个农场组成一棵树。但在与不可避免地由树而生的麻烦的算法问题打了 28 年交道之后,FJ 终于认为树形的农场太复杂了。他相信在链上的算法问题更简单。
所以,他的计划是将这些道路划分成若干条链,并将每条链交给一名值得信任的农场工人负责。为了避免争执,他希望每条链的长度相同。他想知道对于哪些长度存在这样的划分。
更具体地,对于每个 ,帮助 Farmer John 求出这些道路是否能被划分为长度恰好为 的链。
测试点性质: 在测试点 2-4 中树组成了一个 “星形”;至多一个结点的度大于二。测试点 5-8 满足 。测试点 9-15 没有额外限制。
输入格式(文件名:deleg.in):
第一行包含一个整数 。
以下 行每行包含两个空格分隔的整数 和 ,表示结点 与 之间有一条边。 和 均在范围 内。
输出格式(文件名:deleg.out):
输出一个长为 的二进制字符串。对于每一个 ,如果可以将树的边划分为长度恰好为 的链,则字符串从左往右数第 位为 ,否则为 。
输入样例:
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
对于 ,有可能将树划分为长为 的链。对于 ,一种可能的划分方式如下:
供题:Mark Gordon,Dhruv Rohatgi