次のルールに一致する単語の可能な限り長いシーケンスを見つけたいと思います。
- 各単語は最大1回使用できます
- すべての単語は文字列です
- 2つの文字列
sa
であり、の最後の2文字がの最初の2文字と一致するsb
場合は連結できます。sa
sb
連結の場合は、それらの文字を重ねて実行します。例えば:
- sa="トリノ"
- sb = "novara"
- sa concat sb = "torinovara"
たとえば、次の入力ファイル「input.txt」があります。
novara
トリノ
ベルチェリ
ラヴェンナ
ナポリ
リバノ
メッセニア
ノビリグレ
ローマ
また、上記のルールに従った上記のファイルの出力は次のようになります。
トリノ
novara
ラヴェンナ
ナポリ
リボルノ
ノビリグレ
可能な最長の連結は次のとおりです。
torinovaravennapolivornovilligure
誰かがこれで私を助けてくれますか?これに最適なデータ構造は何でしょうか?