• 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 }
  • 相关阅读:
    android提供ToolBar实现划动菜单的陷阱
    style="display"之后不能获取offsetHeight或clientWidth这类测量的值
    onmouseenter与onmouseover
    使用Dom的Range对象处理chrome和IE文本光标位置
    js严格模式“use strict”
    正则表达式lastIndex属性浅析
    IE中的fireEvent和webkit中的dispatchEvent
    readonly=“readonly”与readonly=“true”
    【杂文】
    【洛谷p1015】【一本通p1309】回文数(noip1999)
  • 原文地址:https://www.cnblogs.com/lovychen/p/3185829.html
Copyright © 2020-2023  润新知