#P16309. [ICPC 2023 Jinan R] 图划分 2
[ICPC 2023 Jinan R] 图划分 2
题目描述
在成功解决了《Cut Cut Cut!》这道题目之后,小青鱼想要进一步提高他在划分图的连通块方面的能力。
有一天,一位神秘的智者向小青鱼提出了一个问题。在这个问题中,小青鱼被给定了一棵由 个节点组成的无根树,以及一个整数 。设 为树中所有边的集合,小青鱼的任务是找到一个子集 ,使得在移除 中的所有边后,图被划分为若干个连通块,且每个连通块的大小均为 或 。
当然,作为一位分割事物的大师,小青鱼轻松地解决了这个问题。但是神秘智者的欲望远不止于此。智者不仅想要掌握事物,还想了解所有可能的结果。因此,他要求小青鱼计算出有多少种选择 的方法满足上述条件。两种方案被视为不同的,若它们选择的边的子集不相同。
请帮助小青鱼完成这一挑战。由于答案可能很大,您只需提供答案对 取模后的结果。
输入格式
有多组测试数据。第一行输入一个整数 表示测试数据组数,对于每组测试数据:
第一行输入两个整数 和 (,)表示树的节点数量以及较小的连通块的目标大小。
对于接下来 行,第 行输入两个整数 和 ()表示一条连接节点 与 的边。
保证所有数据 之和不超过 。
输出格式
每组数据输出一行一个整数,表示选择子集 的方案数对 取模后的结果。
2
8 2
1 2
3 1
4 6
3 5
2 4
8 5
5 7
4 3
1 2
1 3
2 4
2
1
提示
令 表示一条连接节点 和 的边。对于第一组样例数据,两个合法的边的子集为 和 。