#include <iostream> #include <cstring> #include <cmath> using namespace std; int dp[110][110]; int main() { memset(dp, 0, sizeof dp); string a,b;cin>>a>>b;int as=a.size(),bs=b.size(); for (int i=0;i<as; i++) { for (int j=0;j<bs; j++) { dp[i+1][j+1]=max(dp[i+1][j],dp[i][j+1]); if(a[i]==b[j]) dp[i+1][j+1]=max(dp[i+1][j+1],dp[i][j]+1); } } cout<<dp[as][bs]; } // 64 位输出请用 printf("%lld")