请大家学习新增题目中对应知识点的pdf文件,其中包含提炼过的知识内容与编程技巧,目前已更新题号:9、11、100、270、400、581、599

2410 : 动态规划基础-最长公共子序列
描述

给定两个序列X和Y,当另一序列Z既是X的子序列又是Y的子序列时,称Z是序列X和Y的公共子序列。例如,若 X=<A,B,C,B,D,A,B> 和 Y=<B,D,C,A,B,A> ,则序列<B,C,A>是X和Y的一个公共子序列,序列 <B,C,B,A>也是X和Y的一个公共子序列。而且,后者是X和Y的一个最长公共子序列.因为X和Y没有长度大于4的公共子序列。

给定两个序列 X=< x_1,x_2,…,x_m > 和 Y=< y_1,y_2….y_n > .要求找出X和Y的一个最长公共子序列。

输入

共有两行。每行为一个由大写字母构成的长度不超过1000的字符串,表示序列X和Y。

输出

第一行为一个非负整数。表示所求得的最长公共子序列的长度。若不存在公共子序列.则输出文件仅有一行输出一个整数0。

样例

输入

ABCBDAB
BDCABA

输出

4
标签
dp
语言:
主题: