問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
この問題ではトライ木に格納された文字列と文字列 T との共通プレフィックスのうち最長のものを返すメソッド get_lcp(T: string): string
を作成してください。
N 個の文字列 S_1, ..., S_N が与えられます。その後文字列 T が与えられます。
S_1, ..., S_N に含まれる全ての文字列と T との共通プレフィックスのうち最長の文字列(最長共通プレフィックス) を出力してください。
ただし長さ 1 以上のプレフィックスが存在しない場合は #
と出力してください。
N
S_1
...
S_N
T
最長共通プレフィックスを1行で出力してください。
また、末尾に改行を入れ、余計な文字、空行を含んではいけません。
すべてのテストケースにおいて, 以下の条件をみたします
・1 ≦ N ≦ 10^3
・ S_i, T はアルファベット小文字のみで構成された文字列
・1 ≦ |S_i|, |T| ≦ 2×10^3 (|S_i| は、S の文字数です。)
4
lo
longer
longlong
along
longest
longe
4
aiueo
abcde
prefix
suffix
pre
pre
3
xxxxxx
yyyyyy
zzzzzz
hogehoge
#