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 です。