CF2018C.Tree Pruning
普及+/提高
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
你有一棵以 1 号节点为根的树,共有 n 个节点。在本题中,叶子节点指的是度数为 1 且不是根节点的节点。
每次操作,你可以移除一个叶子节点及其与树相连的那条边(这样可能会产生新的叶子节点)。你需要进行最少多少次操作,才能使得这棵以 1 号节点为根的树的所有叶子节点都处于距离根节点相同的位置?
输入格式
每个测试点包含多组测试用例。第一行包含一个整数 t(1≤t≤104),表示测试用例的数量。
每个测试用例的第一行包含一个整数 n(3≤n≤5⋅105),表示节点数。
接下来的 n−1 行,每行包含两个整数 u 和 v(1≤u,v≤n,u=v),表示一条连接 u 和 v 的边。保证给出的边构成一棵树。
保证所有测试用例中 n 的总和不超过 5⋅105。
输出格式
对于每个测试用例,输出一个整数,表示达到目标所需的最小操作次数。
输入输出样例
输入#1
3 7 1 2 1 3 2 4 2 5 4 6 4 7 7 1 2 1 3 1 4 2 5 3 6 5 7 15 12 9 1 6 6 14 9 11 8 7 3 5 13 5 6 10 13 15 13 6 14 12 7 2 8 1 1 4
输出#1
2 2 5
说明/提示
在前两个示例中,树的结构如下:

在第一个示例中,通过移除边 (1,3) 和 (2,5),最终树的所有叶子节点(节点 6 和 7)都处于距离根节点(节点 1)为 3 的位置。答案为 2,即最少需要移除的边数。
在第二个示例中,移除边 (1,4) 和 (5,7) 后,所有叶子节点(节点 4 和 5)都处于距离根节点(节点 1)为 2 的位置。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?