编程题
### 问题描述 小然在一次探险中发现了一种神秘的符文。这种符文由 $N$ 个小写拉丁字母组成,而且 $N$ 是一个偶数。 小然发现,他可以通过以下方式调整这种符文: - 交换符文中的第 $i$ 个字母和第 $i+2$ 个字母,对于所有满足 $1 \leq i \leq N-2$ 的 $i$。 现在,小然想知道,他是否能通过调整这种符文,使得调整后的符文变成一个回文。也就是说,无论从前往后读,还是从后往前读,这个符文都是相同的。 ### 输入格式 输入的第一行包含一个整数 $T$,表示测试用例的数量。 每个测试用例包含两行。第一行包含一个整数 $N$,表示符文的长度。第二行包含一个长度为 $N$ 的字符串 $S$,表示符文。 ### 输出格式 对于每个测试用例,如果小然能通过调整使得符文变成一个回文,输出 "YES",否则输出 "NO"。 ### 样例输入 ```text 3 6 aabbaa 4 abcd 6 zzxyyx ``` ### 样例输出 ```text YES NO YES ``` ### 说明 在第一个测试用例中,符文 "aabbaa" 已经是一个回文,所以不需要进行任何调整。 在第二个测试用例中,无论如何调整,我们都无法让符文 "abcd" 变成一个回文。 在第三个测试用例中,我们可以通过以下方式调整符文 "zzxyyx": - 交换第 1 个字母和第 3 个字母,符文变为 "xzzyyx"。 - 交换第 2 个字母和第 4 个字母,符文变为 "xyzzyx"。 调整后的符文 "xyzzyx" 是一个回文。 ### 评测数据范围 $1 \leq T \leq 1000$。 $2 \leq N \leq 10^5$,$N$ 是一个偶数。 所有测试用例中,$N$ 的总和不超过 $2 \times 10^5$。
查看答案
赣ICP备20007335号-2