A16851 | Specialty String
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
AksLolCoding 正在玩一个关于字符串 $s$ 的游戏,字符串长度为 $n$。初始时,$s$ 只包含小写拉丁字母。
每一回合,AksLolCoding 可以选择一对整数 $(i, j)$,满足:
- $1 \leq i < j \leq n$;
- $s_i = s_j \neq *$;
- 对于所有 $i < k < j$,有 $s_k = *$。
如果不存在这样的 $i,j$,则游戏结束。否则,AksLolCoding 令 $s_i := *$ 且 $s_j := *$。当游戏结束后,只有当 $s$ 的每一个字符都等于 $*$ 时,AksLolCoding 才获胜。请判断是否存在一种操作方式,使得 AksLolCoding 能够获胜。
注意:$*$ 表示 ASCII 字符 42。
每一回合,AksLolCoding 可以选择一对整数 $(i, j)$,满足:
- $1 \leq i < j \leq n$;
- $s_i = s_j \neq *$;
- 对于所有 $i < k < j$,有 $s_k = *$。
如果不存在这样的 $i,j$,则游戏结束。否则,AksLolCoding 令 $s_i := *$ 且 $s_j := *$。当游戏结束后,只有当 $s$ 的每一个字符都等于 $*$ 时,AksLolCoding 才获胜。请判断是否存在一种操作方式,使得 AksLolCoding 能够获胜。
注意:$*$ 表示 ASCII 字符 42。
输入格式
第一行为一个整数 $t$($1 \leq t \leq 100$),表示测试用例的数量。
每个测试用例的第一行为一个整数 $n$($1 \leq n \leq 5000$),表示字符串的长度。
每个测试用例的第二行为一个仅由小写拉丁字母组成的字符串 $s$。
所有测试用例中 $n$ 的总和不超过 $5000$。
每个测试用例的第一行为一个整数 $n$($1 \leq n \leq 5000$),表示字符串的长度。
每个测试用例的第二行为一个仅由小写拉丁字母组成的字符串 $s$。
所有测试用例中 $n$ 的总和不超过 $5000$。
输出格式
对于每个测试用例,输出一行答案。如果 AksLolCoding 能够获胜,输出 "YES"(不带引号);否则,输出 "NO"。
输出不区分大小写。例如,"yEs"、"yes"、"Yes" 和 "YES" 都被认为是正面回答。
输出不区分大小写。例如,"yEs"、"yes"、"Yes" 和 "YES" 都被认为是正面回答。
输入输出样例
输入 #1
6 1 a 6 llmllm 6 uwuuwu 6 byebye 6 oooioi 12 siixxsevvenn
输出 #1
NO YES YES NO NO YES
在第一个测试用例中,可以证明 AksLolCoding 无法获胜。
在第二个测试用例中,AksLolCoding 可以按以下方式获胜:llmllm $\rightarrow$ llm**m $\rightarrow$ **m**m $\rightarrow$ *****。
在第三个测试用例中,AksLolCoding 可以按以下方式获胜:uwuuwu $\rightarrow$ uw**wu $\rightarrow$ u****u $\rightarrow$ *****。
在第二个测试用例中,AksLolCoding 可以按以下方式获胜:llmllm $\rightarrow$ llm**m $\rightarrow$ **m**m $\rightarrow$ *****。
在第三个测试用例中,AksLolCoding 可以按以下方式获胜:uwuuwu $\rightarrow$ uw**wu $\rightarrow$ u****u $\rightarrow$ *****。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?