zoukankan      html  css  js  c++  java
  • uva10405 Longest Common Subsequence(最长公共序列)

    标题就说明了方法 。。 典型的dp

    题目:

    Problem C: Longest Common Subsequence

    Sequence 1:

    Sequence 2:


    Given two sequences of characters, print the length of the longest common subsequence of both sequences. For example, the longest common subsequence of the following two sequences:

    abcdgh
    aedfhr
    

    is adh of length 3.

    Input consists of pairs of lines. The first line of a pair contains the first string and the second line contains the second string. Each string is on a separate line and consists of at most 1,000 characters

    For each subsequent pair of input lines, output a line containing one integer number which satisfies the criteria stated above.

    Sample input

    a1b2c3d4e
    zz1yy2xx3ww4vv
    abcdgh
    aedfhr
    abcdefghijklmnopqrstuvwxyz
    a0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0x0y0z0
    abcdefghijklmnzyxwvutsrqpo
    opqrstuvwxyzabcdefghijklmn
    

    Output for the sample input

    4
    3
    26
    14
    

    代码:

     1 #include <iostream>
     2 #include <cstring>
     3 #include <cstdio>
     4 using namespace std;
     5 
     6 char str1[2000];
     7 char str2[2000];
     8 int d[2000][2000];
     9 int main()
    10 {
    11     while(gets(str1))
    12     {
    13         gets(str2);
    14         int len1= strlen(str1);
    15         int len2= strlen(str2);
    16 
    17         for(int i=1;i<=len1;i++)
    18         {
    19             for(int j=1;j<=len2;j++)
    20             {
    21                 if(str1[i-1]== str2[j-1])
    22                 {
    23                     d[i][j]  = d[i-1][j-1]+1;
    24                 }
    25                 else
    26                 {
    27                     d[i][j] = max (d[i-1][j],d[i][j-1]);
    28                 }
    29             }
    30 
    31         }
    32         cout<<d[len1][len2]<<endl;
    33         memset(d,0,sizeof(d));
    34     }
    35 
    36 
    37     return 0;
    38 }
  • 相关阅读:
    [转]oracle数据库定时任务dbms_job的用法详解
    身份证号码的正则表达式及验证详解(JavaScript,Regex)
    js数组操作
    jq滚动到底部加载更多方法
    jq之实现轮播
    node之npm一直出错
    Jq之21点游戏
    移动端屏幕适配viewport
    meta属性
    用户体验之表单结构
  • 原文地址:https://www.cnblogs.com/doubleshik/p/3495114.html
Copyright © 2011-2022 走看看