P12852 [NERC 2020 Online] Color the Tree

题目描述

Christina 有一棵包含 $n$ 个顶点的有根树。初始时,除根节点为红色外,所有顶点均为绿色。Christina 认为这棵树**美丽**的条件是满足以下两条规则: - 根节点必须为红色。 - 如果某个顶点为红色,则该顶点到根节点的最短路径上的所有顶点也必须为红色。 Christina 会反复对树执行以下操作——选择一个顶点并改变其颜色(若为红色则变为绿色,若为绿色则变为红色)。执行操作时必须满足以下规则: - 树必须始终保持美丽。 - 顶点的着色必须是唯一的。即任何时候都不能出现与过去某一时刻完全相同的着色状态。 你的任务是帮助 Christina 构建一个符合规则的最长操作序列。

输入格式

第一行包含一个整数 $n$($1 \le n \le 20$)——树中顶点的数量。 第二行包含 $n - 1$ 个整数 $p_i$($1 \le p_i \le i$,$1 \le i \le n - 1$),表示树中父顶点的编号。树中顶点编号为 $1$ 到 $n$,根节点编号为 $1$,第 $i$ 个顶点($2 \le i \le n$)的父节点为 $p_{i-1}$。

输出格式

第一行输出一个整数 $m$——最大操作次数。 第二行输出 $m$ 个整数 $o_i$($2 \le o_i \le n$),表示每次操作中改变颜色的顶点编号。 若存在多个最长操作序列,输出其中任意一个即可。

说明/提示

翻译由 DeepSeek V3 完成