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

HDU 1159 Common Subsequence

2015-07-22 10:15 190 查看
最长公共子序列

#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;

const int maxn=1111;
int dp[maxn][maxn];
char s[maxn],t[maxn];
int lens,lent;

int main()
{
int i,j;
while(~scanf("%s%s",s,t))
{
lens=strlen(s);
lent=strlen(t);
for(i=-1; i<lens; i++)
for(j=-1; j<lent; j++)
{
if(i==-1||j==-1)
{
dp[i+1][j+1]=0;
continue;
}
if(s[i]==t[j])
dp[i+1][j+1]=dp[i][j]+1;
else
dp[i+1][j+1]=max(dp[i+1][j],dp[i][j+1]);
}
printf("%d\n",dp[lens][lent]);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: