f [ i ] [ j ] 表示使 s 串的前 i 个字符包含 t 串的前 j 个字符的最小操作次数
#include<iostream>
#include<cstring>
using namespace std;
char s[1005];
char t[1005];
int f[1005][1005];
int main(){
scanf("%s",s+1);
scanf("%s",t+1);
memset(f,0x3f3f3f3f,sizeof f);
f[0][0]=0;
int n=strlen(s+1);
int m=strlen(t+1);
for(int i=1;i<=n;i++){
f[i][0]=0;
for(int j=1;j<=m;j++){
if(s[i]==t[j])
f[i][j]=min(f[i-1][j],f[i-1][j-1]);
else
f[i][j]=min(f[i-1][j],f[i-1][j-1]+1);
}
}
cout<<f[n][m];
return 0;
}