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 翻译