#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
#include<iostream>
using namespace std;
const int maxn = 1005;
string c,d;
int dp[maxn][maxn];
string a,b;
int main()
{
while(cin>>c>>d)
{
a.clear();
b.clear();
int i,j;
a="0";
b="1";
a=a+c;
b=b+d;
//cout<<a<<endl;
//cout<<b<<endl;
memset(dp,0,sizeof(dp));
for(i=1;a[i];i++)
for(j=1;b[j];j++)
{
if(a[i]==b[j])
dp[i][j]=dp[i-1][j-1]+1;
else
dp[i][j]=max(dp[i-1][j],dp[i][j-1]);
}
int ans=0;
for(i=1;a[i];i++)
for(j=1;b[j];j++)
ans=max(ans,dp[i][j]);
printf("%d\n",ans);
}
return 0;
}
hdu 1159 LCS
最新推荐文章于 2019-10-31 23:45:00 发布