WA 55pts
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int maxn = 2e3 + 10;
char a[maxn], b[maxn];
int lena, lenb, dp[maxn][maxn];
int main() {
scanf("%s %s", a + 1, b + 1);
lena = strlen(a + 1);
lenb = strlen(b + 1);
for (int i = 1; i <= max(lena, lenb); i++) dp[1][i] = dp[i][1] = i;
for (int i = 2; i <= lenb; i++) {
for (int j = 2; j <= lena; j++) {
if (b[i] == a[j]) dp[i][j] = dp[i - 1][j - 1];
else dp[i][j] = min(dp[i - 1][j - 1], min(dp[i - 1][j], dp[i][j - 1])) + 1;
}
}
printf("%d\n", dp[lenb][lena]);
return 0;
}