手写代码:LCS问题
#include<bits/stdc++.h>
using namespace std;
char s1[3001],s2[3001];
int f[3001][3001];
int main()
{
int n,i,j;
scanf("%s",s1+1);
scanf("%s",s2+1);
int l1=strlen(s1+1);
int l2=strlen(s2+1);
for(i=1;i<=l1;i++)
{
for(j=1;j<=l2;j++)
{
if(s1[i]==s2[j])
f[i][j]=f[i-1][j-1]+1;
else
f[i][j]=max(f[i-1][j],f[i][j-1]);
}
}
printf("%d",f[l1][l2]);
return 0;
}