CF2163A Souvlaki VS. Kalamaki
题目描述
有两位玩家,Souvlaki 和 Kalamaki,得到了一个长度为 $n$ 的整数序列 $a$。
他们将玩一个包含 $n-1$ 轮的游戏,轮次编号从 $1$ 到 $n-1$。Souvlaki 在奇数轮出手,Kalamaki 在偶数轮出手。
在第 $i$ 轮,当前玩家可以选择以下两种操作之一:
- 跳过本回合,进入第 $i+1$ 轮(如果本轮已经是最后一轮,则游戏结束)。
- 交换 $a_i$ 和 $a_{i+1}$ 两个元素。
如果在最后一轮结束后,序列 $a$ 是非递减的(即对于每个 $1 \le i < n$,都有 $a_i \le a_{i+1}$),则 Souvlaki 获胜。否则,Kalamaki 获胜。
然而,Souvlaki 不喜欢输,所以在游戏开始之前,他可以任意重新排列 $a$ 中的元素。请判断他是否可以重新排列 $a$,使得无论 Kalamaki 如何操作,他都一定能获胜。
输入格式
每个测试点包含多组测试数据。第一行包含一个整数 $t$($1 \le t \le 100$),表示测试数据组数。
每组测试数据的第一行为一个整数 $n$($3 \le n \le 100$),表示 $a$ 的长度。
第二行为 $n$ 个整数 $a_1, a_2, \ldots, a_n$($1 \le a_i \le n$),表示序列 $a$ 的每个元素。
输出格式
对于每组测试数据,若 Souvlaki 能通过重新排列 $a$ 来保证自己获胜,输出 “YES”,否则输出 “NO”。
输出不区分大小写,例如 “yEs”、“yes”、“Yes” 和 “YES” 均视为正确答案。
说明/提示
在第一个样例中,$a = [4, 2, 2, 1]$。可以将序列重新排列为 $a = [2, 1, 2, 4]$,此时 Souvlaki 可以这样获胜:
1. 第 1 轮,Souvlaki 行动。他选择交换 $a_1$ 和 $a_2$,此时 $a = [1, 2, 2, 4]$。
2. 第 2 轮,Kalamaki 行动。无论他选择跳过还是交换 $a_2$ 和 $a_3$,$a$ 都不会变。假设他选择跳过。
3. 第 3 轮,Souvlaki 行动。他亦可选择跳过,因为如果此时交换最后两个元素会导致失败。
每一轮后,$a = [1, 2, 2, 4]$,始终是非递减的,所以 Souvlaki 获胜,无论 Kalamaki 如何选择。
在第二个样例中,因为所有元素都相等,序列始终是非递减的,所以 Souvlaki 一定获胜。
由 ChatGPT 5 翻译