标签:
4.4
一周没有学51nod上的dp了
编辑距离
1 #include<cstdio> 2 #include<cstring> 3 #include<iostream> 4 #include<algorithm> 5 using namespace std; 6 7 const int maxn = 1005; 8 int dp[maxn][maxn]; 9 char s[maxn],t[maxn]; 10 int n,m; 11 12 int same(int i,int j){ 13 return !(s[i] == t[j]); 14 } 15 16 void solve(){ 17 n = strlen(s+1); 18 m = strlen(t+1); 19 memset(dp,0,sizeof(dp)); 20 for(int i = 1;i <= n;i++) dp[i][0] = i; 21 for(int j = 1;j <= m;j++) dp[0][j] = j; 22 for(int i = 1;i <= n;i++){ 23 for(int j = 1;j <= m;j++){ 24 dp[i][j] = min(dp[i-1][j-1]+same(i,j),min(dp[i-1][j],dp[i][j-1])+1); 25 // printf("dp[%d][%d] = %d\n",i,j,dp[i][j]); 26 } 27 } 28 printf("%d\n",dp[n][m]); 29 } 30 31 int main(){ 32 while(scanf("%s",s+1) != EOF){ 33 scanf("%s",t+1); 34 solve(); 35 } 36 return 0; 37 }
纪念一发登陆进tc
不过刚试着写了一下去交
之后就一直掉线了..............不知道为什么.....
标签:
原文地址:http://www.cnblogs.com/wuyuewoniu/p/5351429.html