信息学奥赛一本通(C++版)在线评测系统 (ssoier.cn)
#include<bits/stdc++.h>
using namespace std;
const int N=1e3+10;
int dp[N][N];
int main(){
ios::sync_with_stdio(0);
string s1,s2;
cin>>s1>>s2;
int l1=s1.size();
int l2=s2.size();
for(int i=1;i<=l1;i++)
{
for(int j=1;j<=l2;j++)
{
if(s1[i-1]==s2[i-1])
{
dp[i][j]=dp[i-1][j-1]+1;
}else
{
dp[i][j]=max(dp[i-1][j],dp[i][j-1]);
}
}
}
cout<<dp[l1][l2];
return 0;
}