zoukankan      html  css  js  c++  java
  • HDU

    题目链接: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;
    }
    



  • 相关阅读:
    正则表达式复习 (?<=) (?=)
    HTML 30分钟入门教程
    C# 多线程详解
    C# List
    C# 枚举
    C# 线程数
    C# 泛型2
    C# 泛型
    C# 结构体
    不用Google Adsense的84个赚钱方法
  • 原文地址:https://www.cnblogs.com/Jstyle-continue/p/6352006.html
Copyright © 2011-2022 走看看