现在的位置: 首页 > 综合 > 正文

poj1458求两个串的最大公共子序列咯

2019年11月06日 ⁄ 综合 ⁄ 共 441字 ⁄ 字号 评论关闭

两个串的最大长度,题目里没说,随便写了个长度,过了。

代码如下:

#include<cstring>
#include<iostream>
using namespace std;
#define am 1010
int dp[am][am],len1,len2;
char s1[am],s2[am];
void init()
{
	len1=strlen(s1);
	len2=strlen(s2);
}
void result()
{
	int i,j;
	memset(dp,0,sizeof(dp));
	for(i=0;i<len1;i++)
		for(j=0;j<len2;j++)
			if(s1[i]==s2[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[len1][len2]);
}
int main()
{
	while(scanf("%s%s",s1,s2)!=EOF)
	{
		init();
		result();
	}
}

 

抱歉!评论已关闭.