#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 非法。
输入格式
- 第一行:正整数
N(1 ≤ N ≤ 100),表示作业份数。 - 接下来
N行:每行是一个仅由英文字母组成的非空字符串,长度 ≤2×10^6。
输出格式
对每份作业,若字符串合法输出 Y,否则输出 N。
样例
输入
2
zZzZYXWwxyYX
wVUuvUTsR
输出
Y
N
判题要点(思路提示)
- 逐字符检查相邻一对
(s[i], s[i+1])是否满足对应规则即可。 - 边界字母
A、z要特别注意:它们只有一种合法后继。 - 单字符字符串总是合法(没有违反任何“下一个必须…”的约束)。
- 字符串很长(最高 200 万),请使用 O(L) 扫描与快速 I/O。