#include<iostream>
#include<vector>
#include<algorithm>
#include<cstring>
using namespace std;
int main()
{
string s1,s2;
cin>>s1;
cin>>s2;
s1 = " "+s1;
s2 = " "+s2;
int n=s1.size();
int m=s2.size();
int dp[101][101];
for(int i=0;i<=n;i++)//注意是<=
{
for(int j=0;j<=m;j++)//注意是<=
{
if(i==0 || j==0)
{
dp[i][j]=0;
}
else
{
if(s1[i]==s2[j])
{
dp[i][j]=dp[i-1][j-1]+1;
}
else
{
dp[i][j]=max(dp[i-1][j],dp[i][j-1]);
}
}
}
}
cout<<dp[n][m]-1<<endl;//剪掉的这个1是s1=" "+s1中多加的长度
return 0;
}

京公网安备 11010502036488号