题意:
求几对字符的编辑距离,和编辑距离差不多。
思路:
在基础版上加上循环就好了。。
代码:
#include<cstdio>
#include<cstring>
int f[2002][2002],x,m,n;
char a[2002],b[2002];
int min(int x,int y) {return x>y?y:x;}
int main()
{
scanf("%d",&x);
for (int i=1;i<=x;i++)//加上循环
{
//memset(f,128,sizeof(f));memset(a,128,sizeof(a));memset(b,128,sizeof(b));
scanf("%s%s",a,b);
m=strlen(a);n=strlen(b);
for (int i=1;i<=m;i++)
f[i][0]=i;
for (int i=1;i<=n;i++)
f[0][i]=i;
for (int i=1;i<=m;i++)
for (int j=1;j<=n;j++)
if (a[i-1]==b[j-1]) f[i][j]=f[i-1][j-1];
else f[i][j]=min(min(f[i-1][j],f[i][j-1]),f[i-1][j-1])+1;
printf("%d\n",f[m][n]);
}
}