X国语言(lan) 比赛题目 题目统计 全部提交 时间限制:C/C++ 1000MS,其他语言 2000MS 内存限制:C/C++ 256MB,其他语言 512MB 分数:100 描述
X国语言单词通过以下规则构造:
X国语言单词仅由小写字母构成。 X国语言单词的具体结构为:词根+若干个 0 0个或更多)后缀,其中: 词根为长度大于 4 4 的字符串。 后缀为长度 2 2 或 3 3 的字符串。 在构成单词时,不允许连续两次(或更多次)添加同一后缀。 给定一个已经构造好的X国语言单词 � s,请你根据X国语言单词的构造规则,找到该单词的所有可能后缀。
例如,如果给定单词为 � � � � � � � � � cbcaabaca,则它可能的构造方式为 � � � � � � � � � cbcaabaca、 � � � � � � � + � � cbcaaba+ca、 � � � � � � + � � � cbcaab+aca、 � � � � � + � � + � � cbcaa+ba+ca,因此,它的所有可能后缀为 � � � , � � , � � aca,ba,ca。
输入描述
一个由小写字母构成的字符串 � s。
输出描述
第一行输出整数 � k,表示单词 � s 的所有可能后缀的数量。
接下来k 行,按照字典序每行输出一个可能后缀。
用例输入 1
cbcaabaca
用例输出 1
3 aca ba ca
用例输入 2
abaca
用例输出 2
0 提示
前 3 3 个测试点满足 5 ≤ ∣ � ∣ ≤ 10 5≤∣s∣≤10。 所有测试点满足 5 ≤ ∣ � ∣ ≤ 1 0 4 5≤∣s∣≤10 4 。