luogu#P8949. [YsOI2022] 淀粉树
[YsOI2022] 淀粉树
题目背景
Ysuperman 教大家淀粉质和淀粉树。
题目描述
Ysuperman 定义一棵有根树 是树 的一棵淀粉树当且仅当 满足如下两个条件(记 表示 中以 为根的子树中所有点构成的点集):
- 与 点数相同(不妨设为 )且编号为 。
- 对于 中任意一个有儿子的点 ,对于其任意一个儿子 ,满足在 中 与 中至少一个点有直接连边。
容易发现一棵树 的淀粉树可能有很多棵。
Ysuperman 现在给定 以及两棵点编号 的树 和树 ,设树 中度数最大的点的度数为 ,TA 需要你进行至少一次且不超过 次操作,每次操作把 替换成它的任意一棵淀粉树,使得最终 变成 。
请注意,这里给定的 是没有给定根的,你只需要满足最后 的连边情况和 相同我们就认为 变成了 。
输入保证存在至少一组解。
输入格式
第一行两个数 ,保证 等于 中度数最大的点的度数。
接下来 行每行两个数 表示 中 有连边。保证形成一棵树。
接下来 行每行两个数 表示 中 有连边。保证形成一棵树。
输出格式
为了方便检验,Ysuperman 需要你按照有根树的形式输出答案。
答案第一行一个正整数 表示你进行的操作数。
接下来 行第 行 个整数表示你进行第 次操作后 变成的有根树中 各个点的父亲编号,根的父亲编号规定为 ,请保证你输出树的根是淀粉树的根。
5 3
1 2
1 3
3 4
3 5
3 2
3 4
3 5
1 2
1
2 3 0 3 3
提示
样例 1 解释
这是 :
这是 :
该输出仅对 进行了一次操作,即将 变成了下面这棵有根树:
这棵有根树是 的一棵淀粉树,理由如下:
- 对于 的儿子 ,在 中 与 中的 有直接连边。
- 对于 的儿子 ,在 中 与 中的 有直接连边。
- 对于 的儿子 ,在 中 与 中的 有直接连边。
- 对于 的儿子 ,在 中 与 中的 有直接连边。
最终得到的有根树和 的连边情况相同,所以这份输出将被判定为正确。
数据范围
子任务 ( 分),满足 。
子任务 ( 分),满足 。
子任务 ( 分),满足 可以只进行一次操作即可变成 且 。
子任务 ( 分),满足 。
子任务 ( 分),无特殊限制。
对于所有数据,满足 ,。
提示
附件下发了本题 checker。