#P15447. 「IXOI R1」柚社子
「IXOI R1」柚社子
说明
注:本题输入输出量较大,请选择合适的输入输出方式。
给出一个由 个点构成的有根树森林,第 ()个点在有根树上的父亲是 (若 则表示他是某棵树的根)。
对于每棵树,都会给出一对参数 ,其中 是这棵树的根。
现在你要选取若干个点,并将点的编号组成一个序列,定义一个合法的序列为:
- 对于每个满足 的点 ,以他为根的树中选取的点的个数在 之间。
- 对于每一个被选取的点,如果他是根或他的所有祖先中没有点被选,那么没有限制;否则至少有一个他的祖先在序列上的位置在他后面(若这个点在序列的位置为 ,则存在一个他的祖先在序列的位置为 ,其中 )。
求所有合法序列中字典序最小的那个。
输入格式
第一行一个正整数 ,表示点数。
接下来 行,第 ()行一至三个整数,第一个整数 ,表示点 在森林上的父亲。若 ,后面紧跟两个由空格隔开的正整数 ,其意义已在题目描述中给出。
输出格式
输出两行。
第一行一个整数 ,表示字典序最小的序列长度。
第二行 个由空格隔开的整数,描述字典序最小的序列。
可以证明在题目的限制下,一定是存在至少一个合法序列的。
10
0 2 2
1
10
6
3
0 1 2
5
1
3
1
3
2 1 4
提示
样例解释
最小的满足条件的字典序是 ,长度为 ,可以证明没有字典序更小的方案。
数据范围
本题采用捆绑测试。
| 子任务编号 | 特殊性质 | 分值 | |
|---|---|---|---|
| 无 | |||
| A | |||
| B | |||
| 无 |
特殊性质 A:保证每棵树是一个菊花,即每颗树至多有一个点度数超过 ,且所有度数大于 的点 均满足 。
特殊性质 B:保证 。
对于所有数据,保证:
,,保证对于任意一颗树的 满足 ,其中 指对应树的结点数,保证输入的图是一个森林。
京公网安备 11011102002149号