Module: プレフィックス機能、Z機能


Problem

9 /10


ほとんど接頭辞のないコード

Problem

コーディング理論では、接頭辞のないコードは単語のセットとしてよく使用されますが、いずれも接頭辞ではありません。単語 α は、 αβ から削除することによって取得される場合、単語 β の前に付くと言われています。最後にゼロ以上の文字。たとえば、単語 aab、および aba は、単語 aba の接頭辞です。たとえば、単語 abaaa、および bac のセットは接頭辞のないコードですが、abac のセットは, aba, ba という単語 aba は単語 abac の接頭辞であるため、存在しません.

 Professor Decipher は Useless Information Research Lab で働いており、彼の新たなニアプレフィックス コードの発明を研究しています。セットからの任意の 2 つの単語の最大共通プレフィックスの長さが k を超えない場合、単語のセットは、レベル k のほぼプレフィックスのないコードと呼ばれます。たとえば、セット abacabcba はほとんどプレフィックスのないレベル 2 コードであり、セット abac ababba は、abac abab の共通接頭辞の最長が 3 であるため、存在しません。

 デシフロ教授が研究室のアシスタントに設定した次のタスクは次のとおりです: 一連の単語と数字 k が与えられた場合、与えられたものから選択する必要があります。単語は最大セットで、ほとんどプレフィックスのないレベル コード k です。あなたはジュニア ラボ アシスタントとして、対応するプログラムを作成するように割り当てられました。

 
入力
入力ファイルの最初の行には、2 つの整数が含まれます: nk は、指定されたセット内の単語数と、構築されるほとんどプレフィックスのないコードのレベルです ( \(1<= n <= 100000\), \(0 <= k <= 200\) )。次の n 行には、それぞれ 1 つの単語が含まれています。単語は、ラテン アルファベットの小文字で構成されます。各単語の長さは 1 ~ 200 文字です。すべての単語の合計の長さが \(10^6\) を超えません。すべての単語が異なります。
 
出力
単一の数値 m を出力 - 与えられたセットから選択できる単語の最大数で、接頭辞がほとんどない k レベル コードを形成します。 

 

<頭> <本体>
# 入力 出力
1
6 2
あば
バカバ
アバカバ
バカ
abac
カバ
3