6
最短の共通スーパーストリング
文字列のリストが与えられると、それぞれを部分文字列として含むs_0, s_1, ..., s_n最も短い文字列を見つけます。Ss_0, s_1, ..., s_n 例: S('LOREM', 'DOLOR', 'SED', 'DO', 'MAGNA', 'AD', 'DOLORE')='SEDOLOREMAGNAD' S('ABCDE', 'BCD', 'C')='ABCDE' この問題を解決する最短のプログラム(または関数)を作成します。必要に応じて、文字列を配列または文字/整数のリストとして表すことができます。標準ライブラリは問題ありません。入出力には、STDIN / STDOUT、ユーザープロンプト、関数のパラメーター/戻り値など、より便利なものを使用できます。 パフォーマンスは重要ではありません-たとえば、全長が100文字未満の入力の場合、平均的な最新のハードウェアでは結果を10秒以内に計算する必要があるとしましょう。