#1618. 字符串游戏

字符串游戏

题目描述

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

在一回合中,AksLolCoding 可以选择任意一对整数 (i,j)(i,j),满足:

  • 1i<jn1 \leq i < j \leq n
  • si=sjs_i = s_j \neq *
  • 对于所有 i<k<ji < k < j,有 sk=s_k = *

如果不存在这样的 i,ji, j,游戏结束。否则,AksLolCoding 将 sis_isjs_j 都设为 *。游戏结束时,当且仅当 ss 中的每个字符都等于 * 时,AksLolCoding 获胜。判断 AksLolCoding 是否可能获胜。

注:* 表示 ASCII 字符 42。

输入格式

第一行包含一个整数 tt1t1001 \leq t \leq 100),表示测试用例的数量。

每个测试用例的第一行包含一个整数 nn1n50001 \leq n \leq 5000),表示字符串的长度。

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

所有测试用例的 nn 之和不超过 50005000

输出格式

对于每个测试用例,在一行上输出答案。如果 AksLolCoding 可以获胜,输出 "YES",否则输出 "NO"。

输入输出样例 #1

输入 #1

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

输出 #1

NO
YES
YES
NO
NO
YES

说明/提示

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

在第二个测试用例中,AksLolCoding 可以通过以下操作获胜:llmllm → llm**m → **m**m → ******

在第三个测试用例中,AksLolCoding 可以通过以下操作获胜:uwuuwu → uw**wu → u****u → ******