CF2178A Yes or Yes

题目描述

去年圣诞节,你的朋友 Fernando 送了你一个只由字符 $\mathtt{Y}$ 和 $\mathtt{N}$ 组成的字符串 $s$,分别代表“Yes”和“No”。 你可以对 $s$ 重复执行以下操作: - 选择任意两个相邻的字符,并将它们用它们的[逻辑或](https://en.wikipedia.org/wiki/Logical_disjunction)替换。 具体来说,在每次操作中,你可以选择一个下标 $i$($1 \leq i \leq |s|-1$),移除字符 $s_i$ 和 $s_{i+1}$,然后插入: - 如果 $s_i$ 或 $s_{i+1}$ 中至少有一个为 $\mathtt{Y}$,则插入一个 $\mathtt{Y}$; - 如果 $s_i$ 和 $s_{i+1}$ 都为 $\mathtt{N}$,则插入一个 $\mathtt{N}$。 注意,每进行一次操作,$s$ 的长度会减少 $1$。 不过,Fernando 不希望你合并 "Yes OR Yes",因为他因某首歌而留下了心理阴影。 请判断是否存在一种方案,可以通过不断执行上述操作,将 $s$ 缩减为一个字符,并且在过程中永远不会合并两个 $\mathtt{Y}$。

输入格式

每个测试点包含多组测试用例。第一行为测试用例个数 $t$($1 \le t \le 500$)。接下来的每组测试用例包含一行字符串 $s$($2\le |s|\le 100$),保证 $s_i = \mathtt{Y}$ 或 $\mathtt{N}$。

输出格式

对于每个测试用例,如果存在一种合法方案,可以将字符串缩减为一个字符,且过程中不出现任意一次合并两个 $\mathtt{Y}$,输出 "YES";否则,输出 "NO"。 你可以用任意大小写形式输出答案。例如 "yEs"、"yes"、"Yes" 和 "YES" 都会被认为是肯定的回应。

说明/提示

在第一个测试用例中,你无法合并 $s_1$ 和 $s_2$,因为它们都是 $\mathtt{Y}$。因此答案为 NO。 在第三个测试用例中,存在一条合法的操作序列:$\mathtt{\underline{NN}Y}\to\mathtt{\underline{NY}}\to\mathtt{Y}$。因此答案为 YES。 在第四个测试用例中,首步有两种选择:$\mathtt{YY\underline{YN}Y}\to \mathtt{YYYY}$ 或 $\mathtt{YYY\underline{NY}}\to \mathtt{YYYY}$。但无论哪种选择,都无法继续进行操作而不合并两个 $\mathtt{Y}$。因此答案为 NO。 在第五个测试用例中,存在一条有效的操作序列:$\mathtt{N\underline{NN}NN}\to\mathtt{\underline{NN}NN}\to\mathtt{N\underline{NN}}\to\mathtt{\underline{NN}}\to\mathtt{N}$。因此答案为 YES。 由 ChatGPT 5 翻译