555
#include<bits/stdc++.h> using namespace std; const int N = 1001; int dp[N][N]; string str1,str2; int LIS(){ for(int i=1;i<=str1.length();i++) for(int j=1;j<=str2.length();j++) if(str1[i-1]==str2[j-1]) dp[i][j]=dp[i-1][j-1]+1; else dp[i][j]=max(dp[i-1][j],dp[i][j-1]); return dp[str1.length()][str2.length()]; } int main(){ cin>>str1>>str2; cout<<LIS()<<endl; return 0; }
本文在博客园发布,作者:limited_Infinite,转载请注明原文链接:https://www.cnblogs.com/limitedInfinite/p/14711153.html