来源:程军康|编辑日期:2009-11-06 12:10:27|点击数: |发布:55
任务名:PREFLX
一些生物体的复杂结构可以用其基元的序列表示,而一个基元用一个大写英文
字符串表示。生物学家的一个问题就是将一个这样的长序列分解为基元(字符串)
的序列,对于给定的基元的集合P,如果可以从中选出N个基元P1,P2,…Pn,
将它们各自对应的字符串依次联接后得到一个字符串S,称S可以由基元集合P
构成。在从P中挑选基元时,一个基元可以使用多次,也可以不用,例如,序列
ABABACABAB可以由基元集合{A,AB,BA,CA,BBC}构成。
字符串的前K个字符称为该字符串的前缀,其长度为K.请写一个程序,对于
输入的基元集合P和字符串T,求出一个可以由基元集合P构成的字符串T的前
缀,要求该前缀的长度尽可能的长,输出其长度。
输入数据
有两个输入文件INPUT.TXT和DATA.TXT.
INPUT.TXT的第一行是基元集合P中基元的数目N(1<=N<=100),阴÷
随后有2N行,每两行描述一个基元。第一行为该基元的长度L(1<=L<=20)。
随后一行是一个长度为L的大写英文字符串,表示该基元。每个基元互不相同。
文件DATA.TXT描述要处理的字符串T,每一行行首有一个大写英文字母,
最后一行是一个字符“.”
上一篇:
下一篇: