其实这题并没有那么难,打表就可以了。
考虑到用Pascal的set做这道题比较简单,~~所以我又去复习了一遍Pascal~~
集合的声明:
```pascal
VAR S:SET OF 基类型; {注意基类型可存的范围不可超过256个}
```
高清代码:
```pascal
VAR S1,S2:SET OF CHAR;S:STRING[255];I:INTEGER;F,R:BOOLEAN;
BEGIN
S1:=['A','E','F','H','I','K','L','M','N','T','V','W','X','Y','Z']; {集合初始化}
S2:=['B','C','D','G','J','O','P','Q','R','S','U']; {同上}
READLN(S); {注意Pascal的string是从下标1开始存的}
IF (S[1] IN S1) THEN F:=TRUE ELSE F:=FALSE; {判断字符串有可能属于哪一种类型}{in运算符表示某个元素是否被集合所包含}
R:=TRUE;
FOR I:=2 TO LENGTH(S) DO IF F THEN R:=R AND (S[I] IN S1) ELSE R:=R AND (S[I] IN S2); {遍历字符串,得到结果}
IF R THEN WRITE('YES') ELSE WRITE('NO'); {输出答案}
END.
```