HDU - 1159 Common Subsequence

来源:互联网 发布:软件测试技术 图片 编辑:程序博客网 时间:2024/06/06 03:26

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1159

#include <iostream>#include <string.h>using namespace std;/****************************************************************************************************************                题意:给定两个字符串,找出最大公共字串                思路:                1,dp[i][j] : s1串长度为i,s2长度为j时的最大公共字串长度                2,dp[i][j]=max(dp[i-1][j],dp[i][j-1])****************************************************************************************************************/string s1,s2;int dp[1050][1050];int main(){    while(cin>>s1>>s2)    {        for(int i = 0;i < s1.size();i ++)   dp[i][0]=0;        for(int i = 0;i < s2.size();i ++)   dp[0][i]=0;        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;    }    return 0;}


0 0