英语老师要求学生按照如下规则写一串字母:
- 如果写了某个大写字母,下一个就必须写同个字母的小写,或者写字母表中下一个字母的大写;
- 如果写了某个小写字母,下一个就必须写同个字母的大写,或者写字母表中前一个字母的小写;
- 当然也可以什么都不写,就结束这个字母串。
例如 aAaABCDdcbBC
就是一个合法的字母串;而 dEFfeFGhI
就是非法的。注意 a
没有前一个字母, Z
也没有下一个字母。
现在面对全班学生交上来的作业,老师请你写个程序自动批改。
输入格式:
输入在第一行给出一个不超过 100 的正整数 N。随后 N 行,每行给出一位学生的作业,即仅由英文字母组成的非空字母串,长度不超过 2×106。
输出格式:
对每位学生的作业,如果正确就在一行中输出 Y
,否则输出 N
。
输入样例:
2
aAaABCDdcbBC
dEFfeFGhI
输出样例:
Y
N
具体代码如下:
a1 = int(input())
def hefa(x):
for i in range(len(x)-1):
a,b = ord(x[i]),ord(x[i+1])
if (97<=a<=122 and (b!=(a-32) and b!=a-1)):
return False
if (65<=a<=90 and (b!=(a+32) and b!=a+1)):
return False
else:
return True
while a1:
a1 -= 1
a2 = str(input())
if hefa(a2):
print("Y")
else:
print("N")