zoukankan      html  css  js  c++  java
  • ny36 最长公共子序列

    最长公共子序列

    时间限制:3000 ms  |  内存限制:65535 KB
    难度:3
     
    描述
    咱们就不拐弯抹角了,如题,需要你做的就是写一个程序,得出最长公共子序列。
    tip:最长公共子序列也称作最长公共子串(不要求连续),英文缩写为LCS(Longest Common Subsequence)。其定义是,一个序列 S ,如果分别是两个或多个已知序列的子序列,且是所有符合此条件序列中最长的,则 S 称为已知序列的最长公共子序列。
     
    输入
    第一行给出一个整数N(0<N<100)表示待测数据组数
    接下来每组数据两行,分别为待测的两组字符串。每个字符串长度不大于1000.
    输出
    每组测试数据输出一个整数,表示最长公共子序列长度。每组结果占一行。
    样例输入
    2
    asdf
    adfsd
    123abc
    abc123abc
    样例输出
    3
    6
    类似于苹果那道题;
    代码
     1 #include<stdio.h>
     2 
     3 #include<string.h>
     4 
     5 int max[1001][1001];
     6 
     7 int main()
     8 
     9 {
    10   int n,xlen,ylen,i,j;
    11 
    12    char x[1000];
    13   
    14    char y[1000];
    15   
    16    scanf("%d",&n);
    17  
    18    getchar();
    19      
    20    while(n--)
    21    
    22    {
    23           
    24     gets(x);gets(y); 
    25 
    26     xlen=strlen(x);
    27         
    28     ylen=strlen(y);
    29         
    30     for(i=0;i<xlen;i++) 
    31         
    32        for(j=0;j<ylen;j++)  
    33 
    34          max[i][j]=0;//初始化数组重置为0
    35   
    36     for(i=0;i<xlen;i++)
    37           
    38        for(j=0;j<ylen;j++)
    39   
    40        {
    41                 
    42            if(x[i]==y[j]) //当出现两个字符串中有相同的字符时,开始计算
    43   
    44               max[i+1][j+1]=max[i][j]+1;//出现一个时,最大的加上一个,类似于,苹果那道题;
    45 
    46            else if(max[i+1][j]>max[i][j+1])
    47           
    48               max[i+1][j+1]=max[i+1][j];
    49              
    50            else max[i+1][j+1]=max[i][j+1];
    51   
    52        }
    53         
    54            printf("%d
    ",max[xlen][ylen]);
    55 
    56     }
    57 
    58    return 0
    59 
    60 }
  • 相关阅读:
    博客园电子期刊2012年6月刊发布啦
    如何在博客园发博客时插入优酷视频
    上周热点回顾(7.167.22)
    “Coding changes the world” 博客园2012主题T恤专题上线
    [转]MySql查询缓存机制
    淘宝店铺开发 ShopSDK 1.x 及 TAE_SDK 2.0
    [转]NHibernate之旅系列文章导航
    MySQL 5.1参考手册 :: 7. 优化
    [转]Nant daily build实践
    [转]淘宝sdk——入门实战之footer.php制作
  • 原文地址:https://www.cnblogs.com/lovychen/p/3185829.html
Copyright © 2011-2022 走看看