一.最长公共子序列
描述
给你一个序列 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。
输出描述
对于每组输入,输出两个字符串的最长公共子序列的长度。
样例输入 1
abcfbc abfcab programming contest abcd mnp
样例输出 1
4 2 0
#include<bits/stdc++.h>
using namespace std;
const int N=100;
int lm(string s1,string s2){
int dp[N+1][N+1]={};
int len1=s1.length();
int len2=s2.length();
s1="