hdu 1159 Common Subsequence

来源:互联网 发布:知柏地黄丸吃多少粒 编辑:程序博客网 时间:2024/05/22 02:19

        hdu 1159 Common Subsequence

        最长公共子序列的模板题啦。

       这里有一个关于lcs问题的分析 最长公共子序列dp解法

#include <stdio.h>#include <string.h>#define MAX 1005int dp[MAX][MAX];char a[MAX], b[MAX];inline int max(int a, int b) {return a > b ? a : b;}int main() {int i, j;int n, m;while (scanf("%s%s", &a[1], &b[1]) != EOF) {memset(dp, 0, sizeof(dp));n = strlen(&a[1]), m = strlen(&b[1]);for (i = 1; i <= n; i++) {for (j = 1; j <= m; j++) {if (a[i] == b[j]) {dp[i][j] = dp[i - 1][j - 1] + 1;} else {dp[i][j] = max(dp[i - 1][j], dp[i][j - 1]);}}}printf("%d\n", dp[n][m]);} return 0;}