#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。