HDU 1159 Common Subsequence(LCS)

来源:互联网 发布:日本皇族知乎 编辑:程序博客网 时间:2024/05/16 06:43

题目链接:HDU 1159 Common Subsequence

最长公共子序列。

模版题。

#include <iostream>#include <cstring>using namespace std;const int MAX_N = 1000 + 100;char a[MAX_N],b[MAX_N];int dp[MAX_N][MAX_N];int main(){    while(cin >> a >> b)    {        int len1 = strlen(a);        int len2 = strlen(b);        for(int i = 0;i <= len1;i++)            dp[i][0] = 0;        for(int j = 0;j <= len2;j++)            dp[0][j] = 0;        for(int i = 1;i <= len1;i++)        {            for(int j = 1;j <= len2;j++)            {                if(a[i - 1] == b[j - 1])                    dp[i][j] = dp[i - 1][j - 1] + 1;                else                    dp[i][j] = max(dp[i - 1][j],dp[i][j - 1]);            }        }        cout << dp[len1][len2] << endl;    }    return 0;}


0 0
原创粉丝点击