I - Distance
Darjeeling
2
s
1024
MB
100
点
問題文
整数 $K$ と $N$ 個の長さ $L$ の文字列 $S_i$ が与えられる。各 $i(1\le i\le N)$ について $d(S_i,S_j)\le K$ を満たす最小の $j(i<j\le N)$ が存在すればその値を求めよ。
ただし、 $d(s,t)$ は以下のように定義する。
$d(s,t)=(s$ を $t$ に一致させるのに必要な以下の操作の合計回数の最小値$)$
- 文字列 $s$ の任意の $1$ 文字を削除する。
- 文字列 $s$ の任意の位置に $1$ 文字挿入する。
制約
- $N,L,K$ は整数
- $S_i$ は英小文字からなる文字列 $(1\le i\le N)$
- $2\le N\le 10^4$
- $1\le L\le 10$
- $0\le K\le 20$
- $|S_i|=L(1\le i\le N)$
入力
入力は以下の形式で標準入力から与えられる。
$N\ L\ K$
$S_1$
$S_2$
$S_3$
$\ \vdots$
$S_N$
出力
$N$ 行出力せよ。
$i(1\le i\le N)$ 行目には、 $d(S_i,S_j)\le K$ を満たす最小の $j(i<j\le N)$ が存在すればその値を、存在しなければ $0$ を出力せよ。
入力例 1
4 5 4
vapor
favor
polar
color
出力例 1
2
0
4
0
$d($"vapor"$,$"favor"$)=4$、$d($"vapor"$,$"polar"$)=4$、$d($"vapor"$,$"color"$)=6$、$d($"favor"$,$"polar"$)=6$、$d($"favor"$,$"color"$)=6$、$d($"polar"$,$"color"$)=4$なので、出力は上のようになります。