输入
第1行:字符串a(a的长度 <= 1000)。 第2行:字符串b(b的长度 <= 1000)。
输出
输出a和b的编辑距离
输入示例
kitten sitting
输出示例
3
#include <bits/stdc++.h> using namespace std; typedef long long LL; const int maxn = 1e3+10; const int INF = 0x3f3f3f3f; char str1[maxn],str2[maxn]; int f[maxn],last; int main(){ while(~scanf("%s %s",str1,str2)){ int len1 = strlen(str1); int len2 = strlen(str2); for(int i = 0; i <= len2; i++) f[i] = i; for(int i = 0; i < len1; i++){ last = f[0]; f[0] = i+1; for(int j = 0; j < len2; j++){ int Temp = f[j+1]; int temp = 1; if(str1[i] == str2[j]) temp = 0; f[j+1] = min(last+temp,min(Temp+1,f[j]+1)); last = Temp; } } printf("%d\n",f[len2]); } return 0; }