Language:

English
Russian

Практикум по программированию

Для участников:
Регистрация  ||   Вход
Список соревнований
Вы не вошли в систему! Вход или регистрация.

Поисковый индекс

Time limit:6 sec.
Memory limit: 1048576 KByte

Аспирантка Анна занимается разработкой нового метода индексирования для ускорения нечёткого поиска. Анна решила, что множество ключей её индекса будет определяться следующим образом.

Пусть имеется набор из N входных текстовых документов. Назовём непустую строку полезной, если она имеет длину не более L и встречается в качестве подстроки не менее чем в одном и не более чем в T документах. Тогда множество ключей индекса строится так:

  • На первом шаге включим в результирующее множество все полезные строки.
  • На втором шаге удалим из ответа лишние элементы, пользуясь следующим правилом: если в множестве присутствуют два элемента s1 и s2, такие что s1 является подстрокой s2, то элемент s2 удаляется.

Рассмотрим пример. Пусть дано три входных документа – 'aba', 'caba' и 'dab', при этом T = 2 и L = 3.

После первого шага получаем множество 'aba', 'ba', 'c', 'ca', 'cab', 'd', 'da', 'dab'. Подстроки 'a' и 'b' в него не попали, так как встречаются более чем в T документах. После удаления лишних элементов на втором шаге окончательный ответ будет равен 'ba', 'c', 'd'

Анна заметила, что построение индекса непосредственно вышеописанным способом может выполняться слишком долго. Ваша задача – придумать и реализовать эффективный алгоритм построения результирующего множества.

Входные данные

В первой строке входных данных записаны три натуральных числа N, T и L (1 ≤ N, T ≤ 106, 1 ≤ L ≤ 10).

Далее идут N входных документов – непустых строк, содержащих только строчные английские буквы. Сумма длин всех строк не превышает 106.

Выходные данные

Выведите элементы результирующего множества в лексикографическом порядке

Примеры

Входные данные
3 2 3
aba
caba
dab
Выходные данные
ba
c
d
Входные данные
2 1 5
aaaaaaaa
aaaaaaaa
Выходные данные
Входные данные
2 1 5
aaaaaaca
aaaaaaab
Выходные данные
b
c

Условия всех задач турнира (pdf)

© Copyright ВоГУ, АВТ, Носов Д.А., Смоленцев К.Н.