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 自动生成**