提交时间:2023-12-21 13:20:36

运行 ID: 116970

#include<bits/stdc++.h>> using namespace std; char a[3000],b[3000]; int c[3000],d[3000]; int main() { scanf("%s%s",a,b); int l1=strlen(a),l2=strlen(b); for(int i=1;i<=l2;i++) d[i]=i; for(int i=1;i<=l1;i++) { c[0]=i;d[0]=i-1; for(int j=1;j<=l2;j++) if(a[i-1]==b[j-1])c[j]=d[j-1]; else c[j]=min(min(d[j],d[j-1]),c[j-1])+1; for(int j=1;j<=l2;j++)d[j]=c[j]; } printf("%d\n",c[l2]); }