fafu—1174 编辑距离 DP

来源:互联网 发布:mac下载maven 编辑:程序博客网 时间:2024/04/27 18:00



#include<stdio.h>#include<iostream>#include<string>#include<string.h>#include<math.h>#include<algorithm>#include<vector>#include<queue>using namespace std;const int maxn = 105;const int inf = 1<<30;char str1[maxn],str2[maxn];int dp[maxn][maxn];           //dp[i][j]表示A字符串第i-1个字符对应B字符串第j-1个字符int min( int a,int b,int c ){a = a<b?a:b;return a<c?a:c;}int main(){freopen("data.txt","r",stdin);int t;scanf("%d",&t);while( t -- ){scanf("%s%s",str1,str2);int len1 = strlen(str1);int len2 = strlen(str2);memset(dp,0,sizeof(dp));for( int i = 1; i <= len1; i ++ )dp[i][0] = i;for( int i = 1; i <= len2; i ++ )dp[0][i] = i;dp[0][0] = 0;for( int i = 1; i <= len1; i ++ ){for( int j = 1; j <= len2; j ++ ){if( str1[i-1] == str2[j-1] )   dp[i][j] = dp[i-1][j-1];elsedp[i][j] = min( dp[i-1][j],dp[i][j-1],dp[i-1][j-1] ) + 1;}}printf("%d\n",dp[len1][len2]);}return 0;}


原创粉丝点击