#include<bits/stdc++.h>
using namespace std;
int dp[1000][1000];
int main()
{
string a;string b;
while(cin>>a>>b)
{
memset(dp,0,sizeof(dp));
int lena=a.length();
int lenb=b.length();
for(int i=0;i<lena;i++)
for(int j=0;j<lenb;j++)
{
if(a[i]==b[j])
dp[i+1][j+1]=dp[i][j]+1;
else
dp[i+1][j+1]=max(dp[i][j+1],dp[i+1][j]);//新的字母可能和之前的某个字母相同
}
cout<<dp[lena][lenb]<<endl;
}
return 0;
}
LCS
最新推荐文章于 2022-03-18 14:26:20 发布