#P1530. Slurpys
Slurpys
题目描述
识别基于一组限制条件的字符串是一个常见的计算问题。
Slurpy 是一种具有特定属性的字符串。你的程序将读取若干字符串,并判断它们是否为 Slurpy。
Slump 的定义:
- 第一个字符是 或 。
- 第一个字符后跟随一个或多个 。
- 这些 后面要么是一个 ,要么是一个 。这个 或 'G' 结束了当前 Slump。例如, 是一个 Slump,因为它的第一个字符是 'D',后跟两个 'F',并以 Slump 结束。
- 其他情况均不视为 Slump。
Slimp 的定义:
- 第一个字符是 'A'。
- 如果是两个字符的 Slimp,则第二个字符(也是最后一个字符)是 'H'。
- 如果不是两个字符的 Slimp,则它必须是以下两种形式之一:
- 'A' 后跟 'B',然后是一个 Slimp,最后是一个 'C'。
- 'A' 后跟一个 Slump,最后是一个 'C'。
- 其他情况均不视为 Slimp。
Slurpy 的定义:
一个 Slurpy 是由一个 Slimp 后跟一个 Slump 组成的字符串。
示例:
- Slumps: , , , ,
- 非 Slumps: , , , ,
- Slimps: , ,, , , ,
- 非 Slimps: , , , ,,
- Slurpys: ,,
- 非 Slurpys: , ,
输入格式
第一行包含一个整数 N(1 ≤ N ≤ 10),表示后续有多少个字符串需要判断。接下来的 N 行,每行包含一个长度为 1 到 60 的字母字符串。
输出格式
输出的第一行应为 。接下来的 行,每行输出 或 ,表示对应的输入字符串是否为 Slurpy。最后一行输出 。
示例输入与输出
输入数据 1
2
AHDFG
DFGAH
输出数据 1
SLURPYS OUTPUT
YES
NO
END OF OUTPUT
来源
Mid-Atlantic 1996