LCS Common Subsequence

来源:互联网 发布:centos改成中文 编辑:程序博客网 时间:2024/06/07 18:59

A subsequence of a given sequence is the given sequence with some elements (possible none) left out. Given a sequence X =

#include <iostream>#include <algorithm>#include <cstring>using namespace std;string X,Y;int dp[1001][1001];int main(){    while(cin>>X>>Y)    {        int len1=X.length();        int len2=Y.length();        for(int i;i<max(len1,len2);i++)        {            dp[0][i]=0;            dp[i][0]=0;        }        for(int i=1;i<=len1;i++)            for(int j=1;j<=len2;j++)        {            if(X[i-1]==Y[j-1])                dp[i][j]=dp[i-1][j-1]+1;            else                dp[i][j]=max(dp[i][j-1],dp[i-1][j]);        }        cout<<dp[len1][len2]<<endl;    }    return 0;}