KLab株式会社 採用情報

予選A-C 天下一文字集合 解説

部分点1

与えられた「*」に対して、ありうるもの(他のパターンで出てきてるもの)を全通り試せば間に合います。

部分点2

動的計画法(DP)を使用することで間に合います。

つまり、n個のパターンで、集合Xの要素数考える場合は以下のように考えます

満点解法

n個のパターンから任意の2つのパターンを比較して常に矛盾を起こさないならば、n個のパターンすべてに対して一致する文字列が存在します。この性質を用いれば文字列の比較回数は、(n * n - 1) / 2回で済みます。

これにより、たとえ文字列が長くても時間内に答えをだすことができます。