#CF2229E. 拆解树 / Deconstruction Tree
拆解树 / Deconstruction Tree
题目描述
一棵有 个点的树从天而降,同时还有一个初始为空的集合 。
接下来你会执行 次操作:
- 令 为当前树中编号最大的叶子;
- 将 加入集合 (如果 已经在 中,集合不发生变化);
- 选择任意一个不等于 的叶子,并将它从树中删除。
求通过不同删除选择,最终可能得到多少种不同的集合 。答案对 取模。
输入格式
每个测试包含多组测试数据。
第一行包含整数 ()。
每组测试数据第一行包含整数 (),表示树的大小。
接下来 行,每行包含两个整数 (,),表示一条边。
保证给出的图是一棵树,且所有测试数据的 之和不超过 。
输出格式
输出可以得到的不同集合数量,对 取模。
样例 1
6
2
1 2
5
5 1
5 3
5 4
5 2
7
7 6
7 4
5 7
1 6
2 4
3 5
10
10 9
10 8
10 7
10 6
9 5
8 4
7 3
6 2
5 1
4
2 4
3 1
1 4
4
1 4
2 3
3 4
1
1
3
13
1
1
约束与提示
-
时间限制:2 秒
-
内存限制:256 MB
-
原题编号:CF2229E