许诺 • 1个月前
using namespace std; int main() {
string X,Y;
getline(cin,X);
getline(cin,Y);
int m=X.size();
int n=Y.size();
vector<int> dp(n+1,0);
for (int i=1;i<=m;++i) {
int prev=0;
for (int j=1;j<=n;++j) {
int temp=dp[j];
if (X[i-1]==Y[j-1])
{
dp[j]=prev+1;
}
else
{
dp[j]=max(dp[j],dp[j-1]);
}
prev=temp;
}
}
cout<<dp[n]<<endl;
return 0;
}
评论:
请先登录,才能进行评论