• POJ1458 Common Subsequence 【最长公共子序列】


    Common Subsequence
    Time Limit: 1000MS   Memory Limit: 10000K
    Total Submissions: 37614   Accepted: 15058

    Description

    A subsequence of a given sequence is the given sequence with some elements (possible none) left out. Given a sequence X = < x1, x2, ..., xm > another sequence Z = < z1, z2, ..., zk > is a subsequence of X if there exists a strictly increasing sequence < i1, i2, ..., ik > of indices of X such that for all j = 1,2,...,k, xij = zj. For example, Z = < a, b, f, c > is a subsequence of X = < a, b, c, f, b, c > with index sequence < 1, 2, 4, 6 >. Given two sequences X and Y the problem is to find the length of the maximum-length common subsequence of X and Y.

    Input

    The program input is from the std input. Each data set in the input contains two strings representing the given sequences. The sequences are separated by any number of white spaces. The input data are correct.

    Output

    For each set of data the program prints on the standard output the length of the maximum-length common subsequence from the beginning of a separate line.

    Sample Input

    abcfbc         abfcab
    programming    contest 
    abcd           mnp

    Sample Output

    4
    2
    0

    NYOJ同题

    #include <stdio.h>
    #include <string.h>
    #define maxn 1000
    
    char str1[maxn], str2[maxn];
    int dp[maxn][maxn];
    
    int max(int a, int b){ return a > b ?

    a : b; } int LCS() { int ans = 0; for(int i = 1, j; str1[i]; ++i){ for(j = 1; str2[j]; ++j){ if(str1[i] == str2[j]){ dp[i][j] = dp[i-1][j-1] + 1; }else dp[i][j] = max(dp[i - 1][j], dp[i][j - 1]); if(dp[i][j] > ans) ans = dp[i][j]; } } return ans; } int main() { while(scanf("%s%s", str1 + 1, str2 + 1) == 2){ printf("%d ", LCS()); } return 0; }



  • 相关阅读:
    C++文件流类与文件流对象
    当java出现异常,应如何进行处理
    C语言函数的声明以及函数原型
    MySQL的create table as 与 like区别
    java中BigDecimal加减乘除基本用法
    项目小结
    自动化测试 如何快速提取Json数据
    Java Map 集合类在selenium自动化测试设计中的应用
    UFT对于PDF 文档的操作方法 VBS代码
    Selenium 自动化测试中对页面元素的value比较验证 java语言
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/5088825.html
Copyright © 2020-2023  润新知