2932. 拆分-Nim游戏
时间限制:1000 MS 内存限制:128 MB
题目描述
# 拆分-Nim游戏 ## 题目描述 给定 $n$ 堆石子,第 $i$ 堆有 $a_i$ 颗石子。两位玩家轮流进行操作。 每次操作,玩家选择一堆石子,设该堆有 $a$ 颗石子,将其移除,并替换为两堆石子。设新堆的石子数量分别为 $x$ 和 $y$,必须满足: $$ 0 \le x < a,\qquad 0 \le y < a. $$ 新堆的石子数量可以为 $0$,两个新堆的石子总数也可以大于被移除的那堆石子数量,即不要求 $x+y \le a$。石子数量为 $0$ 的堆无法被选择进行操作。 无法进行操作的玩家失败。若两位玩家都采用最优策略,请判断先手是否必胜。 ## 输入格式 从文件 `splitnim.in` 中读入数据。 第一行包含一个整数 $n$,表示石子堆数。 第二行包含 $n$ 个整数 $a_1,a_2,\ldots,a_n$,其中 $a_i$ 表示第 $i$ 堆石子的数量。 ## 输出格式 将答案输出到文件 `splitnim.out` 中。 若先手必胜,输出一行 `Yes`;否则,输出一行 `No`。 ## 数据范围 对于所有测试数据: - $1 \le n \le 100$。 - $1 \le a_i \le 100$。 ## 样例输入 ``` 2 2 3 ``` ## 样例输出 ``` Yes ``` ## 时间与空间限制 - 时间限制:$1000$ 毫秒。 - 空间限制:$128$ MB。