#12295. 英语老师小助手

英语老师小助手

英语老师小助手(C语言二级 · 编程题)

时间限制: 5000 ms 内存限制: 65535 KB


题目描述

英语老师要求学生按如下规则写一串字母:

  • 规则 1(大写后接): 若当前字符是大写字母 X,下一个字符必须是

    • 同字母的小写 x,或
    • 前一个字母的大写(X-1,例如在 D 后可写 C)。

    注意:A 没有前一个字母,因此在 A只能a

  • 规则 2(小写后接): 若当前字符是小写字母 x,下一个字符必须是

    • 同字母的大写 X,或
    • 后一个字母的小写(x+1,例如在 d 后可写 e)。

    注意:z 没有后一个字母,因此在 z只能Z

例如:zZzZYXWwxyYX 合法;wVUuvUTsR 非法。


输入格式

  • 第一行:正整数 N1 ≤ N ≤ 100),表示作业份数。
  • 接下来 N 行:每行是一个仅由英文字母组成的非空字符串,长度 ≤ 2×10^6

输出格式

对每份作业,若字符串合法输出 Y,否则输出 N


样例

输入

2
zZzZYXWwxyYX
wVUuvUTsR

输出

Y
N

判题要点(思路提示)

  • 逐字符检查相邻一对 (s[i], s[i+1]) 是否满足对应规则即可。
  • 边界字母 Az 要特别注意:它们只有一种合法后继。
  • 单字符字符串总是合法(没有违反任何“下一个必须…”的约束)。
  • 字符串很长(最高 200 万),请使用 O(L) 扫描与​快速 I/O​。