CFCF2178A.Yes or Yes
入门
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
去年圣诞节,你的朋友 Fernando 送了你一个只由字符 Y 和 N 组成的字符串 s,分别代表“Yes”和“No”。
你可以对 s 重复执行以下操作:
- 选择任意两个相邻的字符,并将它们用它们的逻辑或替换。
具体来说,在每次操作中,你可以选择一个下标 i(1≤i≤∣s∣−1),移除字符 si 和 si+1,然后插入:
- 如果 si 或 si+1 中至少有一个为 Y,则插入一个 Y;
- 如果 si 和 si+1 都为 N,则插入一个 N。
注意,每进行一次操作,s 的长度会减少 1。
不过,Fernando 不希望你合并 "Yes OR Yes",因为他因某首歌而留下了心理阴影。
请判断是否存在一种方案,可以通过不断执行上述操作,将 s 缩减为一个字符,并且在过程中永远不会合并两个 Y。
输入格式
每个测试点包含多组测试用例。第一行为测试用例个数 t(1≤t≤500)。接下来的每组测试用例包含一行字符串 s(2≤∣s∣≤100),保证 si=Y 或 N。
输出格式
对于每个测试用例,如果存在一种合法方案,可以将字符串缩减为一个字符,且过程中不出现任意一次合并两个 Y,输出 "YES";否则,输出 "NO"。
你可以用任意大小写形式输出答案。例如 "yEs"、"yes"、"Yes" 和 "YES" 都会被认为是肯定的回应。
输入输出样例
输入#1
7 YY NN NNY YYYNY NNNNN YYYYYY YNNNNN
输出#1
NO YES YES NO YES NO YES
说明/提示
在第一个测试用例中,你无法合并 s1 和 s2,因为它们都是 Y。因此答案为 NO。
在第三个测试用例中,存在一条合法的操作序列:NNY→NY→Y。因此答案为 YES。
在第四个测试用例中,首步有两种选择:YYYNY→YYYY 或 YYYNY→YYYY。但无论哪种选择,都无法继续进行操作而不合并两个 Y。因此答案为 NO。
在第五个测试用例中,存在一条有效的操作序列:NNNNN→NNNN→NNN→NN→N。因此答案为 YES。