Codeforces Round 349 (Div. 1) |
---|
Закончено |
В Берляндском Государственном Институте Мира и Дружбы готовят первоклассных специалистов. И вы, как один из самых талантливых людей в Берляндии, обучаетесь именно в нём. Учёба нелегка, ведь от выпускников требуются фундаментальные знания в очень многих зачастую совершенно не связанных друг с другом областях.
Например, среди прочего, вы должны хорошо знать лингвистику. И последние месяцы на этом предмете вы изучаете структуру иностранного для студентов Ребляндского языка. В этом языке слова строятся по следующей схеме. Сначала выбирается корень слова, состоящий не менее чем из пяти букв. Затем к слову приписывается несколько строк длиной 2 или 3 символа. Единственное ограничение — нельзя приписывать одну и ту же строку подряд два или более раз. Все эти строки считаются суффиксами слова (в смысле морфемы, а не последних нескольких символов, как вы, возможно, привыкли).
Одно из упражнений, которое вы встретили в своём задании, выглядит следующим образом. Вам дано слово s, и вам необходимо найти все различные строки длины 2 или 3, которые могли оказаться его суффиксами, учитывая правила построения слов в Ребляндском языке.
Две строки считаются различными, если у них разная длина или существует позиция, в которой в этих строках записаны различные символы.
В задании также разобран следующий пример: дано слово abacabaca. Его возможно получить следующими способами: , где надчеркиваниями обозначен корень слова, а «уголками» — суффиксы. Таким образом, множество возможных суффиксов для этого слова: {aca, ba, ca}.
В единственной строке находится строка s (5 ≤ |s| ≤ 104), состоящая из строчных букв английского алфавита.
В первой строке выведите целое число k — количество различных возможных суффиксов. В следующих k строках выведите сами суффиксы.
Строки нужно выводить в лексикографическом (алфавитном) порядке.
abacabaca
3
aca
ba
ca
abaca
0
Первый тест разобран выше в основной части условия задачи.
Во втором примере строка имеет длину 5. Так как корень имеет длину не менее 5, то никакая строка не может быть использована в качестве суффикса.
Название |
---|