poj 1458 Common Subsequence (DP:LCS)

来源:互联网 发布:mac 因为找不到原身 编辑:程序博客网 时间:2024/06/05 20:15
/* 最基础的LCS,不解释,直接贴代码 */#include <cstdio>#include <cstring>#include <algorithm>#define MAXN 500using namespace std;char str1[MAXN], str2[MAXN];int dp[MAXN][MAXN];int main(void) {    int len1, len2;    while(scanf("%s%s", str1+1, str2+1) != EOF) {        int len1 = strlen(str1+1);        int len2 = strlen(str2+1);        memset(dp, 0, sizeof(dp));        for(int i=1; i<=len1; ++i) {            for(int j=1; j<=len2; ++j) {                dp[i][j] = max(dp[i-1][j], dp[i][j-1]);                if(str1[i] == str2[j])                    dp[i][j] = dp[i-1][j-1]+1;            }        }        printf("%d\n", dp[len1][len2]);    }    return 0;}

0 0