博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 1159 hdoj 1159
阅读量:4123 次
发布时间:2019-05-25

本文共 1538 字,大约阅读时间需要 5 分钟。

Common Subsequence

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 10295    Accepted Submission(s): 4237
Problem 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.
The program input is from a text file. Each data set in the file contains two strings representing the given sequences. The sequences are separated by any number of white spaces. The input data are correct. 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 abfcabprogramming contest abcd mnp
 
Sample Output
420

#include<stdio.h>
#include<string.h>
main()
{
    int a[501][501]={0},i,j,m,n;
    char ch1[501],ch2[501];
    while(scanf("%s%s",ch1,ch2)!=EOF)
    {
        m=strlen(ch1);
        n=strlen(ch2);
        for(i=0;i<m;i++)
        {
            for(j=0;j<n;j++)
            {
                if(ch1[i]==ch2[j]) a[i+1][j+1]=a[i][j]+1;
                else if(a[i][j+1]>=a[i+1][j]) a[i+1][j+1]=a[i][j+1];
                else if(a[i][j+1]<a[i+1][j]) a[i+1][j+1]=a[i+1][j];
            }
        }
        printf("%d\n",a[i][j]);
    }
    
}

转载地址:http://bttpi.baihongyu.com/

你可能感兴趣的文章
Mysql初始化的命令
查看>>
day_21_0817_Mysql
查看>>
day-22 mysql_SQL 结构化查询语言
查看>>
MySQL关键字的些许问题
查看>>
浅谈HTML
查看>>
css基础
查看>>
HTML&CSS进阶
查看>>
Servlet进阶和JSP基础
查看>>
servlet中的cookie和session
查看>>
过滤器及JSP九大隐式对象
查看>>
软件(项目)的分层
查看>>
菜单树
查看>>
设计模式六大原则(6):开闭原则
查看>>
阿里面试总结--JAVA
查看>>
Servlet的生命周期
查看>>
JAVA八大经典书籍,你看过几本?
查看>>
《读书笔记》—–书单推荐
查看>>
【设计模式】—-(2)工厂方法模式(创建型)
查看>>
有return的情况下try catch finally的执行顺序(最有说服力的总结)
查看>>
String s1 = new String("abc"); String s2 = ("abc");
查看>>