#P12852. [NERC 2020 Online] Color the Tree

[NERC 2020 Online] Color the Tree

Description

Christina 有一棵包含 nn 个顶点的有根树。初始时,除根节点为红色外,所有顶点均为绿色。Christina 认为这棵树美丽的条件是满足以下两条规则:

  • 根节点必须为红色。
  • 如果某个顶点为红色,则该顶点到根节点的最短路径上的所有顶点也必须为红色。

Christina 会反复对树执行以下操作——选择一个顶点并改变其颜色(若为红色则变为绿色,若为绿色则变为红色)。执行操作时必须满足以下规则:

  • 树必须始终保持美丽。
  • 顶点的着色必须是唯一的。即任何时候都不能出现与过去某一时刻完全相同的着色状态。

你的任务是帮助 Christina 构建一个符合规则的最长操作序列。

Input Format

第一行包含一个整数 nn1n201 \le n \le 20)——树中顶点的数量。

第二行包含 n1n - 1 个整数 pip_i1pii1 \le p_i \le i1in11 \le i \le n - 1),表示树中父顶点的编号。树中顶点编号为 11nn,根节点编号为 11,第 ii 个顶点(2in2 \le i \le n)的父节点为 pi1p_{i-1}

Output Format

第一行输出一个整数 mm——最大操作次数。

第二行输出 mm 个整数 oio_i2oin2 \le o_i \le n),表示每次操作中改变颜色的顶点编号。

若存在多个最长操作序列,输出其中任意一个即可。

4
1 1 1
7
4 3 4 2 4 3 4
4
1 2 3
3
2 3 4
6
1 1 2 2 2
17
3 2 3 6 3 5 3 6 3 4 3 6 3 5 3 6 3
5
1 2 1 1
11
5 4 5 2 5 4 5 3 5 4 5
5
1 1 2 3
8
3 5 2 5 3 4 3 5

Hint

翻译由 DeepSeek V3 完成