最长公共子序列

来源:互联网 发布:知乎怎样回答问题 编辑:程序博客网 时间:2024/06/07 06:47
#include<iostream>#include<cstdio>#include<string>#include<cstring>using namespace std;int dp[1000][1000];int main(){    string s1,s2;    while(cin>>s1)    {        cin>>s2;        memset(dp,0,sizeof(dp));        for(int i=1;i<=s1.size();i++)        {            for(int j=1;j<=s2.size();j++)            {                if(s1[i-1]==s2[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[s1.size()][s2.size()]<<endl;    }}
原创粉丝点击