#P15668. [ICPC 2024 Jakarta R] Scrambled Scrabble

[ICPC 2024 Jakarta R] Scrambled Scrabble

说明

你正在使用一套标准的 2626 个大写英文字母(A 到 Z)玩一个单词游戏。在这个游戏中,你可以按以下规则构成元音和辅音:

  • 字母 A、E、I、O 和 U 只能构成元音。
  • 字母 Y 既可以构成元音,也可以构成辅音。
  • 除了 A、E、I、O、U 和 Y 之外,其余每个字母只能构成辅音。
  • 字符串 NG 在拼接在一起时可以构成一个单独的辅音。

定义一个音节为一个辅音、一个元音和一个辅音按顺序拼接而成的字符串。一个单词则是一个或多个音节的拼接。

给定一个字符串 SS,你希望用它来构造一个单词。你可以从 SS 中删除零个或多个字母,并重新排列剩余的字母来构成单词。请找出可以构造的最长单词的长度,或者确定无法构造任何单词。

输入格式

一行,包含一个字符串 SS1S50001 \leq |S| \leq 5000)。字符串 SS 仅由大写英文字母组成。

输出格式

如果无法构造任何单词,则输出 0。否则,输出一个整数,表示可以构造的最长单词的长度。

ICPCJAKARTA
9
NGENG
5
YYY
3
DANGAN
6
AEIOUY
0

提示

样例输入/输出 #1 的解释

一个可能的最长单词是 JAKCARTAP,它由音节 JAK、CAR 和 TAP 组成。

样例输入/输出 #2 的解释

整个字符串 SS 本身就是一个单词,它由一个音节构成,该音节是辅音 NG、元音 E 和辅音 NG 的拼接。

样例输入/输出 #3 的解释

整个字符串 SS 本身就是一个单词,它由一个音节构成,该音节是辅音 Y、元音 Y 和辅音 Y 的拼接。

样例输入/输出 #4 的解释

整个字符串 SS 本身就是一个单词,它由两个音节构成:DAN 和 GAN。

样例输入/输出 #5 的解释

无法构造任何单词,因此输出 0。

翻译由 DeepSeek V3.2 完成