利用动态规划求最长公共子序列: #include #include #include #define MAXLEN 100 void LCSLength(char *x, char *y, int m, int n, int c[][MAXLEN], int b[][MAXLEN]) { int i, j; for(i = 0; i <= m; i++) c[i][0] = 0; for(j = 1; j <= n; j++) c[0][j] = 0; for(i = 1; i
【问题描述】使用动态规划算法解最长公共子序列问题,具体来说就是,依据其递归式自底向上的方式依次计算得到每个子问题的最优值。
【输入形式】在屏幕上输入两个序列X和Y,序列各元素数间都以一个空格分隔。
【输出形式】矩阵c,其中c[i,j]中存放的是:序列Xi = {x1, ..., xi}和序列Yj = {y1, ..., yj}的最长公共子序列的长度。序列X和Y的最长公共子序列。
【样例1输入】
A B C B D A B
B D C A B A
【样例1输出】
[[0 0 0 0