问题 B: 最长公共子序列

问题 B: 最长公共子序列

时间限制: 1 Sec  内存限制: 32 MB
提交: 22  解决: 13
[状态] [提交] [命题人:]

题目描述

给你一个序列X和另一个序列Z,当Z中的所有元素都在X中存在,并且在X中的下标顺序是严格递增的,那么就把Z叫做X的子序列。
例如:Z=<a,b,f,c>是序列X=<a,b,c,f,b,c>的一个子序列,Z中的元素在X中的下标序列为<1,2,4,6>。
现给你两个序列X和Y,请问它们的最长公共子序列的长度是多少?

输入

输入包含多组测试数据。每组输入占一行,为两个字符串,由若干个空格分隔。每个字符串的长度不超过100。

输出

对于每组输入,输出两个字符串的最长公共子序列的长度。

样例输入 Copy

abcfbc abfcab
programming contest 
abcd mnp

样例输出 Copy

4
2
0

提示

本题读入可以用如下格式:
char a[103]={},b[103]={};     
 while (scanf("%s%s",a,b)!=EOF)
{
       //  strlen(a)   获取a串的长度