CF138A Literature Lesson
题目描述
Vera 喜爱诗歌。她所知道的所有诗歌都被分为四行诗(每组四行),并且在每个四行诗中,某些行之间存在押韵关系。
我们认为诗歌中的每一行都由小写拉丁字母组成(没有空格)。字母 "a"、"e"、"i"、"o"、"u" 被认为是元音字母。
如果两行从末尾数第 $k$ 个元音开始的后缀相同,则这两行押韵。如果某一行的元音数少于 $k$,则该行无法与其他任何行押韵。例如,当 $k=1$ 时,行 $commit$ 和 $hermit$ 押韵(对应的后缀都是 $it$);而当 $k=2$ 时,它们不押韵($ommit \neq ermit$)。
今天在文学课上,Vera 学到了四行诗可以有四种不同的押韵方案,具体如下(相同字母表示押韵的行):
- Clerihew($aabb$);
- 交替($abab$);
- 环抱($abba$)。
如果一个四行诗的所有行两两押韵,则该四行诗可以属于任意一种押韵方案(这种情况用 $aaaa$ 表示)。
如果一首诗的所有四行诗都属于同一种押韵方案,则我们认为整首诗属于该押韵方案。如果每个四行诗的所有行都两两押韵,则整首诗的押韵方案为 $aaaa$。需要注意的是,不同四行诗之间的行是否押韵无关紧要。换句话说,不同四行诗之间可以没有押韵联系。
Vera 得到了一首很长的诗作为家庭作业。她需要分析这首诗并找出其押韵方案。请你帮助 Vera 完成这个任务。
输入格式
第一行包含两个整数 $n$ 和 $k$($1 \leq n \leq 2500$,$1 \leq k \leq 5$),分别表示诗歌中的四行诗数量和元音的编号。接下来的 $4n$ 行给出诗歌的内容。每一行非空,仅由小写拉丁字母组成。所有行的总长度不超过 $10^4$。
假设行号从 1 开始编号,则第一个四行诗包含第 $1$、$2$、$3$、$4$ 行;第二个四行诗包含第 $5$、$6$、$7$、$8$ 行;以此类推。
输出格式
输出诗歌的押韵方案,可能为 "aabb"、"abab"、"abba"、"aaaa";如果诗歌不属于上述任何一种押韵方案,则输出 "NO"。
说明/提示
在最后一个样例中,两个四行诗都存在押韵,但无法找到共同的押韵方案,因此答案为 "NO"。
由 ChatGPT 4.1 翻译