您的位置:首页 > 其它

51nod 1183 编辑距离

2016-11-05 00:17 239 查看
#include <bits/stdc++.h>
using namespace std;

int dp[1010][1010];

int main()
{
string a,b;
int i,j;
while(cin>>a>>b)
{
memset(dp,60,sizeof(dp));
for(i=0;i<=a.length();i++)
dp[i][0]=i;
for(j=0;j<=b.length();j++)
dp[0][j]=j;
for(i=1;i<=a.length();i++)
{
for(j=1;j<=b.length();j++)
{
dp[i][j]=min(min(dp[i-1][j],dp[i][j-1])+1,dp[i-1][j-1]+(a[i-1]==b[j-1]?0:1));
}
}
printf("%d\n",dp[a.length()][b.length()]);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  51nod