zoukankan      html  css  js  c++  java
  • uva 10405 Longest Common Subsequence

    最长公共子序列
    解析见uva 111的博文

    不知道为什么用scanf读入字符串会有问题,改成gets就好了

    #include<stdio.h>
    #include<string.h>
    #include<math.h>
    #include<algorithm>
    #include<iostream>
    using namespace std;
    
    int main()
    {
        int i,j,l1,l2,dp[1024][1024];
        char s1[1024],s2[1024];
        while(gets(s1)&&gets(s2))
        {
            memset(dp,0,sizeof(dp));
            l1=strlen(s1);
            l2=strlen(s2);
            for(i=0;i<l1;i++)
                for(j=0;j<l2;j++)
            {
                dp[i+1][j+1]=max(dp[i][j+1],dp[i+1][j]);
                if(s1[i]==s2[j]) dp[i+1][j+1]=max(dp[i+1][j+1],dp[i][j]+1);
            }
            printf("%d
    ",dp[l1][l2]);
        }
        return 0;
    }

    版权声明:本文为博主原创文章,未经博主允许不得转载。http://xiang578.top/

  • 相关阅读:
    79.Word Search
    78.Subsets
    77.Combinations
    75.Sort Colors
    74.Search a 2D Matrix
    73.Set Matrix Zeroes
    71.Simplify Path
    64.Minimum Path Sum
    63.Unique Paths II
    Docker 拉取 oracle 11g镜像配置
  • 原文地址:https://www.cnblogs.com/xryz/p/4848086.html
Copyright © 2011-2022 走看看