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/

  • 相关阅读:
    文件操作
    数据补充
    小数据池
    列表
    基础知识1
    我的Python之旅开始
    正则
    模块
    迭代器与生成器
    文件操作
  • 原文地址:https://www.cnblogs.com/xryz/p/4848086.html
Copyright © 2011-2022 走看看