CF1800A Is It a Cat?
题目描述
你在街上行走时听到了一种声音。这个声音由字符串 $s$ 描述,字符串只包含小写和大写的拉丁字母。现在你想判断这是不是一只猫在叫。
要判断这个声音是不是猫叫,需要满足以下条件:
- 字符串只能包含字母 'm'、'e'、'o' 和 'w',不区分大小写。
- 字符串必须以非空的、只包含 'm' 或 'M' 的字符序列开头;
- 紧接着必须是非空的、只包含 'e' 或 'E' 的字符序列;
- 再紧接着必须是非空的、只包含 'o' 或 'O' 的字符序列;
- 最后必须是非空的、只包含 'w' 或 'W' 的字符序列,并且这一段结束后字符串也随之结束。
例如,字符串 "meow"、"mmmEeOWww"、"MeOooOw" 都符合猫叫的定义,而 "Mweo"、"MeO"、"moew"、"MmEW"、"meowmeow" 都不符合。
请判断你听到的声音是不是猫叫。
输入格式
输入的第一行包含一个整数 $t$($1 \le t \le 10^4$),表示测试用例的数量。
接下来是 $t$ 组测试用例。
每组测试用例的第一行包含一个整数 $n$($1 \le n \le 50$),表示描述声音的字符串的长度。
每组测试用例的第二行包含一个长度为 $n$ 的字符串 $s$,该字符串只包含小写和大写的拉丁字母,描述你听到的声音。
输出格式
对于每组测试用例,输出一行:
- 如果这个声音是猫叫,输出 YES;
- 否则输出 NO。
你可以用任意大小写形式输出 YES 和 NO(例如 yEs、yes、Yes 和 YES 都被认为是肯定的回答)。
说明/提示
在第一个测试用例中,字符串由 'm'、'e'、'O'、'w' 组成,满足猫叫的定义。
在第二个测试用例中,字符串由 $3$ 个 'm' 或 'M',一个 'e',$3$ 个 'o' 或 'O',$7$ 个 'w' 或 'W' 组成,满足猫叫的定义。
在第三个测试用例中,字符串不符合猫叫的定义,因为在 'e' 和 'w' 之间缺少 'o' 或 'O' 的序列。
在第四个测试用例中,字符串包含字符 'U',因此不符合猫叫的定义。
由 ChatGPT 4.1 翻译