B - 編集距離 Editorial /

Time Limit: 2 sec / Memory Limit: 1024 MB

配点: 100

問題文

長さが M の文字列 S と、長さが N の文字列 T が与えられます。

S に以下の 3 通りの操作を繰り返し施すことで、T に変換したいとします。そのような一連の操作のうち、操作回数の最小値を求めてください。なお。この最小値のことを文字列 S, T編集距離と呼びます。

  • 変更:文字列 S 中の文字を 1 つ選んで任意の文字に変更する
  • 削除:文字列 S 中の文字を 1 つ選んで削除する
  • 挿入:文字列 S の好きな箇所に好きな文字を 1 文字挿入する

入力

入力は次の形式で与えられます。

M N
S
T

出力

答えを出力してください。

制約

  • 1 \le M, N \le 1{,}000
  • S は英小文字のみからなる長さ M の文字列
  • T は英小文字のみからなる長さ N の文字列


入力例

5 6
abcde
bcdefg

出力例

3

文字列 S から先頭 1 文字 "a" を削除して、末尾に 2 文字 "fg" を付け加えることで T に一致します。よって、求める編集距離は 1 + 2 = 3 です。