只显示结果(动规递推):
#include<stdio.h>
#include<string.h>
#include <iostream>
#define N 105
using namespace std;
int dp[N+1][N+1];
char str1[N],str2[N];
int maxx(int a,int b)
{
if(a>b)
return a;
return b;
}
int LCSL(int len1,int len2)
{
int i,j;
int len=maxx(len1,len2);
for(i=0; i<=len; i++)
{
dp[i][0]=0;
dp[0][i]=0;
}
for(i=1; i<=len1; i++)
for(j=1; j<=len2; j++)
{
if(str1[i-1]==str2[j-1])
{
dp[i][j]=dp[i-1][j-1]+1;
}
else
{
dp[i][j]=maxx(dp[i-1][j],dp[i][j-1]);
}
}
return dp[len1][len2];
}
int main()
{
while(cin