#include<iostream>
#include<string.h>
using namespace std;
int exportMax(int a,int b)
{
return a>b? a:b;
}
int opt[1010][1010];
int main()
{
char str1[1010],str2[1010];
while(cin>>str1+1>>str2+1)
{
int len1=strlen(str1+1);
int len2=strlen(str2+1);
memset(opt,0,sizeof(opt));
for(int i=1;i<=len1;i++)
{
for(int j=1;j<=len2;j++)
{
if(str1[i]==str2[j])
{
opt[i][j]=opt[i-1][j-1]+1;
}
else
{
opt[i][j]=exportMax(opt[i-1][j],opt[i][j-1]);
}
}
}
cout<<opt[len1][len2]<<endl;
}
}
Common Subsequence 1458 pku
最新推荐文章于 2016-08-01 09:31:20 发布