CF1632A.ABC

传统题 时间 2000 ms 内存 256 MiB 3 尝试 1 已通过 1 标签

ABC

题目描述

最近,179 中学的学生们开发了一种独特的算法,该算法以一个二进制字符串 ss 作为输入。然而,他们很快发现,如果 ss 的某个子串 tt 是长度大于 1 的回文串,算法就会出错。学生们能否通过重新排列 ss 的字符,使得算法在该字符串上能够正确运行?

二进制字符串是指每个字符都是 0 或 1 的字符串。

如果字符串 aa 可以通过从字符串 bb 的开头删除若干(可能为零或全部)字符,并从结尾删除若干(可能为零或全部)字符得到,则称 aabb 的子串。

回文串是指正着读和反着读都相同的字符串。

输入格式

每个测试点包含多组测试用例。第一行包含测试用例的数量 tt1t1001 \le t \le 100)。接下来是每组测试用例的描述。

每组测试用例的第一行包含一个整数 nn1n1001 \le n \le 100),表示字符串 ss 的长度。

每组测试用例的第二行包含一个长度为 nn 的字符串 ss,仅由字符 0 和 1 组成。

输出格式

对于每组测试用例,如果可以通过重新排列 ss 的字符,使得不存在长度大于 1 的回文子串,则输出 YES(不区分大小写);否则输出 NO(不区分大小写)。

说明/提示

在前三个测试用例中,给定的字符串不包含长度大于 1 的回文子串,因此答案为 YES。

在最后一个测试用例中,不可能通过重新排列字符使得字符串不包含长度大于 1 的回文子串,因此答案为 NO。

由 ChatGPT 4.1 翻译

样例

4
1
1
2
10
2
01
4
1010
YES
YES
YES
NO

在线编程 IDE

建议全屏模式获得最佳体验