2011年11月18日 星期五

384 - Slurpys

本題請你寫一個程式判斷給定的字串是否符合某種特定的格式。

Problem Statement

Slurpy為一種特定格式的字串,本題請你讀入一個字串後判斷該字串是否為一Slurpy字串。

定義Slump為符合下列要求的字串:
  1. 其第一個字元為'D'或'E'。
  2. 第一個字元之後會接一個或連續多個'F'。
  3. 一或多個連續的'F'之後會再接上一個Slump或一個'G',以此做為字串的結束。例如DFFEFFFG為Slump,因為第一個字元為D,且其後接兩個'F',之後再接上一個Slump字串"EFFFG"。
  4. 不符合上述要求的字串並不是一個Slump字串。
定義Slimp為符合下列要求的字串:
  1. 其第一個字元為'A'。
  2. 若該Slimp字串只有兩個字元,則它的第二個也是最後一個字元必為'H'。
  3. 若該Slimp字串並非兩個字元的字串,則它滿足下列其中一種形式:
    • 'A'之後為'B'再接上一個Slimp字串,並以'C'作結束。
    • 'A'之後接上一個Slump字串,並以'C'作結束。
  4. 不符合上述要求的字串並非一個Slimp字串。
Slurpy定義為一個Slimp後接著Slump的字串。


Examples

Slumps:   DFG, EFG, DFFFFFG, DFDFDFDFG, DFEFFFFFG
Slimps:   AH, ABAHC, ABABAHCC, ADFGC, ADFFFFGC, ABAEFGCC, ADFDFGC
Slurpy:   AHDFG, ADFGCDFFFFFG, ABAEFGCCDFEFFFFFG

Input

輸入資料的第一列為整數N(1 <= N <= 10)表示測試資料的組數,接下來的N列每列為長度介於1~60的字串。

Output

請在輸出資料的頭尾處輸出"SLURPYS OUTPUT", "END OF OUTPUT"。之中的每一列請依序判斷輸入字串是否為一Slurpy字串,若是請輸出"YES",否則輸出"NO"。

Sample Input

2
AHDFG
DFGAH

Sample Output

SLURPYS OUTPUT
YES
NO
END OF OUTPUT

原文出處

沒有留言:

張貼留言