Logo
(追記) (追記ここまで)

21452번 - Почти беспрефиксные коды 스페셜 저지다국어

시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 1024 MB27161157.895%

문제

В теории кодирования часто используют беспрефиксные коды --- наборы слов, ни одно из которых не является префиксом (Слово $\alpha$ называется префиксом слова $\beta,ドル если $\alpha$ получается из $\beta$ удалением нуля или более символов в конце. Например, слова <<>>, <<a>>, <<ab>> и <<aba>> являются префиксами слова <<aba>>.) другого. Например, набор слов <<aba>>, <<aa>> и <<bac>> является беспрефиксным кодом, а набор <<abac>>, <<aba>>, <<ba>> --- нет, поскольку слово <<aba>> является префиксом слова <<abac>>.

Профессор Дешифро работает в лаборатории исследования бесполезной информации и изучает свое новое изобретение --- почти беспрефиксные коды. Набор слов называется почти беспрефиксным кодом уровня $k,ドル если наибольший общий префикс двух любых слов из набора не превышает по длине $k$. Например, набор <<abac>>, <<abс>>, <<ba>> является почти беспрефиксным кодом уровня 2, а набор <<abac>>, <<abab>>, <<ba>> --- нет, поскольку наибольший общий префикс слов <<abac>> и <<abab>> имеет длину 3.

Очередная задача, которую профессор Дешифро поставил своим лаборантам, заключается в следующем: по заданному набору слов и числу $k$ требуется выбрать из заданных слов максимальный набор, который является почти беспрефиксным кодом уровня $k$. Вам, как младшему лаборанту, поручили написать соответствующую программу.

입력

Первая строка входного файла содержит два целых числа: $n$ и $k$ --- количество слов в заданном наборе и уровень почти беспрефиксного кода, который требуется построить (1ドル \le n \le 100,000円,ドル 0ドル \le k \le 200$). Следующие $n$ строк содержат по одному слову. Слова состоят из строчных букв латинского алфавита. Длина каждого слова от 1 до 200 символов. Суммарная длина всех слов не превышает 10ドル^6$. Все слова различны.

출력

На первой строке выходного файла выведите одно число $m$ --- максимальное количество слов, которые можно выбрать из заданного набора, чтобы они образовывали почти беспрефиксный код уровня $k$. Следующие $m$ строк должны содержать выбранные слова.

제한

예제 입력 1

6 2
aba
bacaba
abacaba
baca
abac
caba

예제 출력 1

3
aba
bacaba
caba

힌트

출처

Olympiad > Russian Olympiad in Informatics > Russia Team High School Programming Contest > Russia Team High School Programming Contest 2008 C번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /