CF1879E Interactive Game with Coloring
题目描述
**这是一个交互题。**
给你一棵有 $n$ 个顶点的树;顶点 $1$ 是树的根。对于每一个 $i \in [2, n]$,$i$ 的父顶点是 $p_i$(满足 $p_i
输入格式
第一行包含一个整数 $n$($3 \le n \le 100$)表示树的顶点个数。
第二行包含 $n-1$ 个整数 $p_2, p_3, \dots, p_n$ ( $1 \le p_i
输出格式
首先,你必须先给出你的染色方案,如下所示:
- 第一行,输出一个整数 $k$ ( $1 \le k \le n - 1$ )--您使用的颜色数;
- 第二行,输出 $n-1$ 个整数 $c_2, c_3, \dots, c_n$($1 \le c_i \le k$),其中 $c_i$ 是连接 $p_i$ 和 $i$ 的边的颜色。
然后,对局开始。在每一步棋开始时,交互库都会输出出以下其中之一:
- 一个整数 $1$,表示棋子到达根部,你赢了。
- 一个整数 $-1$ ,表示要么你在 $d$ 步中没有到达根部而输了,要么你做了错误的事情(要么你提供的着色不符合约束条件,要么你的上一步棋是不可能的)。
- 或另起一行写一个整数 $0$ ,接着写一行包含 $k$ 个整数 $e_1, e_2, \dots, e_k$ ,其中 $e_i$ 是当前顶点所带颜色为 $i$ 的边的数量。
如果收到 $1$ 或 $-1$ ,程序应立即终止,否则提交的结果可能是未定义的。如果您收到 $0$ 后接 $k$ 的整数 $e_1, e_2, \dots, e_k$ ,您必须打印一个整数,表示您在移动过程中选择的颜色(当然,该颜色的 $e_i$ 不应等于 $0$ )。
**输出之后记得刷新缓存区!**
说明/提示
在第一个示例中,从 $2$ 到 $n$ 的每个顶点都与根相连。因此,我们可以将所有边涂成相同的颜色 $1$ ,当游戏开始时,只有一条边与当前顶点相连(它将通向根)。
在第二个示例中,树是一条由 $4$ 个顶点组成的路径。我们必须把它的边涂成不同的颜色,因为我们可以证明只有两种颜色的策略是无法取胜的。