CF2200C.Specialty String

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

Specialty String

题目描述

AksLolCoding 正在玩一个关于字符串 ss 的游戏,字符串长度为 nn。初始时,ss 只包含小写拉丁字母。

每一回合,AksLolCoding 可以选择一对整数 (i,j)(i, j),满足:

  • 1≤i<j≤n1 \leq i < j \leq n;
  • si=sj≠∗s_i = s_j \neq *;
  • 对于所有 i<k<ji < k < j,有 sk=∗s_k = *。

如果不存在这样的 i,ji,j,则游戏结束。否则,AksLolCoding 令 si:=∗s_i := * 且 sj:=∗s_j := *。当游戏结束后,只有当 ss 的每一个字符都等于 ∗* 时,AksLolCoding 才获胜。请判断是否存在一种操作方式,使得 AksLolCoding 能够获胜。

注意:∗* 表示 ASCII 字符 42。

输入格式

第一行为一个整数 tt(1≤t≤1001 \leq t \leq 100),表示测试用例的数量。

每个测试用例的第一行为一个整数 nn(1≤n≤50001 \leq n \leq 5000),表示字符串的长度。

每个测试用例的第二行为一个仅由小写拉丁字母组成的字符串 ss。

所有测试用例中 nn 的总和不超过 50005000。

输出格式

对于每个测试用例,输出一行答案。如果 AksLolCoding 能够获胜,输出 "YES"(不带引号);否则,输出 "NO"。

输出不区分大小写。例如,"yEs"、"yes"、"Yes" 和 "YES" 都被认为是正面回答。

说明/提示

在第一个测试用例中,可以证明 AksLolCoding 无法获胜。

在第二个测试用例中,AksLolCoding 可以按以下方式获胜:llmllm →\rightarrow llm**m →\rightarrow mm →\rightarrow *****。

在第三个测试用例中,AksLolCoding 可以按以下方式获胜:uwuuwu →\rightarrow uw**wu →\rightarrow u****u →\rightarrow *****。

由 ChatGPT 5 翻译

样例

6
1
a
6
llmllm
6
uwuuwu
6
byebye
6
oooioi
12
siixxsevvenn
NO
YES
YES
NO
NO
YES

在线编程 IDE

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