#include <stdio.h>
#include<string.h>
int length(char x[],char y[]);
int main()
{
char x[100],y[100];
int L;
scanf("%s%s",x,y);
L=length(x,y);
printf("%d\n",L);
}
int length(char x[],char y[])
{
int i,j,m,n,l[100][100];
m=strlen(x);
n=strlen(y);
for(i=0;i<=m;i++)
l[i][0]=0;
for(j=0;j<=n;j++)
l[0][j]=0;
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
{
if(x[i-1]==y[j-1])
l[i][j]=l[i-1][j-1]+1;
else if(l[i][j-1]>l[i-1][j])
l[i][j]=l[i][j-1];
else
l[i][j]=l[i-1][j];
}
return l[m][n];
}
子序列。
最新推荐文章于 2020-02-17 11:43:48 发布