SP3488 TOPCODE - The Top-Code

题目描述

一个“单词”是由两个或更多字母构成的字符串;而一个“代码”则是由一个或多个不同单词按字典序排列而成的字符串。因此,一个字母序列既可以表示一个单词,也可以表示一个代码。我们将“最优代码”定义为其中所含单词最多的代码。 对于给定的字母序列,可能存在一个或多个最优代码。我们需要找到优先级最高的最优代码,即在所有最优代码按字典序排列时排在最前面的那个。 你需要编写一个程序,给出以下输出: 1. 最优代码中的单词总数 $m$; 2. 由该字母序列可表示的最优代码总数 $n$; 3. 优先级最高的最优代码,即顶级代码。

输入格式

输入由多组测试用例组成。 每个测试用例为一行,包含不超过 100 个字母的字符串。 输入中包含一个单一字母的行,则表示输入结束。

输出格式

对于每个测试用例,输出两行结果。 第一行输出两个整数,分别为最优代码中的单词总数 $m$ 和该字母序列可形成的最优代码总数 $n$。第二行输出优先级最高的最优代码,即顶级代码。 ## 样例输入 ``` aaaaaa words lexicographic a ``` ## 样例输出 ``` 2 1 aa aaaa 1 1 words 3 2 lexic og raphic ``` **本翻译由 AI 自动生成**