题目描述
原件:tmp1.png
对于某两个字符串A 和 B,设A的长度为 p,B 的长度为 q,若用以下形式表示他们。
a=a1a2a3a4…ap
b=b1b2b3b4…ap
我们说A包含 B,或者说 B是A的子序列,当且仅当存在
1≤i1<i2<i3<…<ip≤p
满足
aik=bk for i≤k≤q
你的任务是:给定三个字符串X、Y、Z,求 X和Y 的一个公共子序列W,使得W包含 Z。
要求找出最长的这种序列W的长度。
输入格式
输入共三行,每行为长度不超过500的,小写字母组成的非空字符串
按顺序分别表示x,y,z
输出格式
如存在满足条件的N,输出W的长度,否则输出 NO SOLUTION
样例
helloworld
hellxebore
xr
5
样例解释
W=hxeor
数据范围与约定
设L为字符串长度,
则对于100%的数据:L≤500.
提示
本题要求找出的W首先是X与Y的公共子序列并且包含Z,然后才是满足这些条件的字符串里面找最长的。