#include <iostream>
#include <
string>
using namespace std;
#define MAXSIZE 100
int max(
int num1,
int num2)
{
return num1>num2?
num1:num2;
}
int main()
{
char strA[MAXSIZE];
char strB[MAXSIZE];
int maxLen[MAXSIZE][MAXSIZE] = {
0};
int i;
int j;
cin >>
strA;
cin >>
strB;
int lenA =
strlen(strA);
int lenB =
strlen(strB);
for (i=
1; i<=lenA; i++
)
for (j=
1; j<=lenB; j++
)
{
if (strA[i-
1] == strB[j-
1])
maxLen[i][j] = maxLen[i-
1][j-
1] +
1;
else
maxLen[i][j] = max(maxLen[i-
1][j], maxLen[i][j-
1]);
}
cout << maxLen[lenA][lenB] <<
endl;
return 0;
}
转载于:https://www.cnblogs.com/jlbs/p/6486195.html
相关资源:最长公共子序列(C 源代码)