#8638. 「L2-051」满树的遍历 普及/提高−

时间限制:1000 ms 内存限制:128 MiB 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: Wind_Rises

题目描述

一棵“ 阶满树”是指树中所有非叶结点的度都是 的树。给定一棵树,你需要判断其是否为 阶满树,并输出其前序遍历序列。

注:树中结点的度是其拥有的子树的个数,而树的度是树内各结点的度的最大值。

输入格式

输入首先在第一行给出一个正整数 (≤),是树中结点的个数。于是设所有结点从 编号。

随后 行,第 行()给出第 个结点的父结点编号。根结点没有父结点,则对应的父结点编号为 。题目保证给出的是一棵合法多叉

树,只有唯一根结点。

输出格式

首先在一行中输出该树的度。如果输入的树是 阶满树,则加 个空格后输出 yes,否则输出 no

最后在第二行输出该树的前序遍历序列,数字间以 个空格分隔,行首尾不得有多余空格。

注意:兄弟结点按编号升序访问。

样例

样例输入 1

7
6
5
5
6
6
0
5

样例输出 1

3 yes
6 1 4 5 2 3 7

样例输入 2

7
6
5
5
6
6
0
4

样例输出 2

3 no
6 1 4 7 5 2 3