会员
周边
众包
新闻
博问
闪存
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
C-CODE
博客园
首页
新随笔
联系
管理
订阅
试水
#include<stdio.h> #include<string.h> #include<stdlib.h> #include<math.h> int bs(int a){ if(a<0)return -a; return a; } int min (int a,int b,int c){ int temp; temp=b; if(a<b)temp=a; if(c<temp)temp=c; return temp; } int f[2001][2001]={0}; int main() { int i,j,k,l1,l2; char a[2001]={0},b[2001]={0}; scanf("%s%s%d",a,b,&k); l1=strlen(a); l2=strlen(b); for(i=1;i<=l1;i++)f[i][0]=i*k; for(i=1;i<=l2;i++)f[0][i]=i*k; f[0][0]=0; for(i=1;i<=l1;i++) for(j=1;j<=l2;j++){ f[i][j]=min(f[i-1][j]+k,f[i][j-1]+k,f[i-1][j-1]+bs((int) (a[i-1]-b[j-1]))); } printf("%d\n",f[l1][l2]); system("pause"); return 0; }
这是动态规划
posted @
2012-05-31 00:21
C-CODE
阅读(
106
) 评论(
0
)
编辑
收藏
举报
会员力量,点亮园子希望
刷新页面
返回顶部
公告