您的位置:首页 > 产品设计 > UI/UE

hdu 1159 Common Subsequence (dp)

2012-10-28 17:56 375 查看
点击打开链接

题目意思:

简单DP应用。。

给你两个字符串看看有依次有多少字符相同,

Dp【i】【j】表示str_1的前i个字符与str_2的前J个字符有dp[i][j]个相同的。

dp[i][j]=max(dp[i][j-1],dp[i-1][j]);

#include"stdio.h"
#include"string.h"
#define N 1001
int dp

;
int MAX(int a,int b)
{
if(a>b)return a;
return b;
}
int main()
{
int len_1,len_2,i,j;
char str_1
,str_2
;
while(scanf("%s %s",str_1,str_2)!=-1)
{
len_1=strlen(str_1);
len_2=strlen(str_2);
memset(dp,0,sizeof(dp));
for(i=1;i<=len_1;i++)
{
for(j=1;j<=len_2;j++)
if(str_1[i-1]==str_2[j-1])
dp[i][j]=dp[i-1][j-1]+1;
else
dp[i][j]=MAX(dp[i-1][j],dp[i][j-1]);
}
printf("%d\n",dp[len_1][len_2]);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: