[CEOI2021] Stones

题目背景

译自 CEOI2021 Day2 T1. [Stones](https://hsin.hr/ceoi/competition/ceoi2021_day2_tasks.pdf)。

题目描述

Ankica 终于抓住 Branko,但他拒绝给 Ankica 买报纸并且要求自己提出一个新的游戏因为上一个是不公平的。Ankica 故作天真地提出了另一个石子游戏,但 Branko 内心存疑,并决定完全改变它的规则。 游戏包含 $N$ 堆石子,其中第 $i$ 堆有 $a_i$ 个石子,玩家轮流移除一堆石子中的若干个,取到最后一个石子的玩家获胜。 但在该游戏中每个玩家从哪堆石子中取石子是由另一名玩家固定的。 具体来说,游戏的回合数从 $1$ 开始每次递增,增量为 $1$,而游戏将会以如下方式进行: - 在奇数回合,Branko 将指定一个非空石子堆。Ankica 将移除这堆石子至少一个,至多所有石子。 - 在偶数回合,Ankica 将指定一个非空石子堆。Branko 将移除这堆石子至少一个,至多所有石子。 作为专业的游戏玩家,在 Branko 摆完石子后,Ankica 很快意识到这个游戏对她有必胜策略。 如果你是 Ankica,你能否获胜呢? #### 交互方式 这是一道交互题,你的程序必须与官方给出的扮演 Branko 的程序交换信息。当然,你的程序应该扮演 Ankica 的角色并确保她能获胜。 你的程序应先从标准输入读入游戏的初始状态。初始状态有两行,第一行包含一个整数 $N$ ,第二行包含 $N$ 个空格隔开的整数,其中第 $i$ 个表示 $a_i$,含义如题面所示。 你的程序应根据现在是奇数或偶数轮给出不同的输出,具体地: **在奇数轮:** - 你的程序应先读入一个整数 $k$。如果此时所有的石子堆都是空的,$k=-1$,你应结束程序因为你已经输了。否则 $k\in[1,N]$ ,代表你现在必须从第 $k$ 堆石子取走至少一个至多所有石子。保证第 $k$ 堆石子此时不为空。令当前第 $k$ 堆石子有 $s_k$ 个石子。 - 你的程序应输出一行一个 $[1,s_k]$ 中的整数,代表你从第 $k$ 堆石子希望取走的石子个数,**然后刷新缓冲区**。 **在偶数轮:** - 你的程序应先输出一个整数 $k$,**然后刷新缓冲区**。如果此时所有的石子堆都是空的,$k$ 应为 $-1$,你应结束程序因为你已经赢了。否则 $k\in[1,N]$,代表你希望 Branko 从第 $k$ 堆石子取石子。你应保证第 $k$ 堆石子此时不为空。令当前第 $k$ 堆石子有 $s_k$ 个石子。 - 你的程序应读入一行一个 $[1,s_k]$ 中的整数,代表 Branko 从第 $k$ 堆石子取走的石子个数。 保证给出的初始状态使得无论 Branko 怎么操作你都有必胜策略。 #### 交互样例1 | 输出 | 输入 | 解释 | | :---------: | :----------: | :-----------------------------------: | | | $\texttt{1}$ | 游戏只有一堆石子 | | | $\texttt{4}$ | 这一堆石子堆包含 $4$ 个石子 | | | $\texttt1$ | Branko 只能指定 Ankica 从第一堆取石子 | | $\texttt4$ | | Ankica 拿走第一堆所有石子 | | $\texttt-1$ | | 现在没有剩余的石子,Ankica 获胜 | #### 交互样例2 | 输出 | 输入 | 解释 | | :-----------: | :--------------: | :-------------------------------: | | | $\texttt{3}$ | 游戏有三堆石子 | | | $\texttt{1 1 5}$ | 三堆石子依次包含 $1,1,5$ 个石子 | | | $\texttt{3}$ | Branko 指定 Ankica 从第三堆取石子 | | $\texttt{5}$ | | Ankica 拿走第三堆所有石子 | | $\texttt{1}$ | | Ankica 指定 Branko 从第一堆取石子 | | | $\texttt{1}$ | Branko 只能拿走第一堆所有石子 | | | $\texttt{2}$ | Branko 指定 Ankica 从第二堆取石子 | | $\texttt{1}$ | | Ankica 拿走第二堆所有石子 | | $\texttt{-1}$ | | 现在没有剩余的石子,Ankica 获胜 |

输入输出格式

输入格式


输出格式


输入输出样例

暂无测试点

说明

#### 子任务 令 $M=\max\{a_1,a_2,\dots,a_N\}$。 所有测试点均满足 $1\leq N,M\leq 500$。 各子任务的约束条件如下: | 子任务 | 分值 | 约束 | | :----: | :--: | :---------------------------------------------------: | | $1$ | $12$ | $1\leq N,M\leq 7$ | | $2$ | $13$ | $1\leq N\leq 12$,$1\leq M\leq 500$ | | $3$ | $15$ | $1\leq N,M\leq 500$,且 $\forall i,j\in[1,N],a_i=a_j$ | | $4$ | $60$ | $1\leq N,M\leq 500$ |