最长公共子序列c++代码
时间: 2023-10-02 09:08:49 浏览: 36
以下是最长公共子序列的C代码:
```c
#include <stdio.h>
#include <string.h>
#define MAXLEN 100
int lcs(char *x, char *y, int m, int n) {
int table[MAXLEN+1][MAXLEN+1];
int i, j;
for (i = 0; i <= m; i++) {
for (j = 0; j <= n; j++) {
if (i == 0 || j == 0)
table[i][j] = 0;
else if (x[i-1] == y[j-1])
table[i][j] = table[i-1][j-1] + 1;
else
table[i][j] = (table[i-1][j] > table[i][j-1]) ? table[i-1][j] : table[i][j-1];
}
}
return table[m][n];
}
int main() {
char x[MAXLEN+1], y[MAXLEN+1];
printf("Enter first sequence: ");
scanf("%s", x);
printf("Enter second sequence: ");
scanf("%s", y);
int m = strlen(x);
int n = strlen(y);
int length = lcs(x, y, m, n);
printf("Length of LCS is %d\n", length);
return 0;
}
```