基因的核
背景
OI地外生化研究中心遇到了一个巨大的机遇&&挑战------xxxxx年x月x日,一架来自地外文明的载人飞船企图在戈壁登陆地球,对于研究地外文明和外星生物,这是一个千古难得的机遇,然而中国国防部也检测到了这不明飞行物,(在不明情况的前提下)国防部用最新研制的反物质防空炮唐突的向它开火(什么飞船能抵抗这样的攻击?!),这架万年不遇的地外飞船就这样被击毁在无边戈壁...
描述
OI地外生化研究所的科学家立即在第一时间赶到现场,在戈壁的黄沙之上,到处可见飞船的残骸和外星人已粉碎的遗体,破碎的飞船是没有什么研究价值了,科学家收集了外星人的遗体并回到了研究中心。通过最高端的科技,科学家分离了这种生物细胞中的遗传信息载体“XNA”(类似而不同于地球生物的“DNA”),你可以将“XNA”看成一串密码子组成的长链,基因研究所首席研究员Talent对“XNA”进行了分析,将不同的密码子编号,使每个密码子对应一个小写英文字母,在这生物的不同细胞中,“XNA”是不一样的,但这些细胞的“XNA”中,有一些公共部分,选出这些“XNA”最长的公共部分,就构成了“XNA”的核心框架,我们称之为该生物的“基因的核”,所谓“最长的公共部分”,就是这些“XNA”最长的公共密码子序列,“公共密码子序列”在“XNA”中不一定是连续的,但一定不能改变原顺序,科学家们想了解这种生物的“基因的核”。于是Talent将这个任务交给了聪明的你,面对众多的“XNA”序列,每个“XNA”的长度(length)又很长,你无法目测答案,就准备编一个通用的程序,对于若干组“XNA”,求出它们的“基因的核”,(为降低难度)你只需要输出“基因的核”长度就可以。
格式
输入格式
第一行是一个整数N,代表要处理的“XNA”的数量,以下N行是N个待处理的“XNA”的代码(每个“XNA”由一串小写字母组成,每个字母对应一个密码子)。
输出格式
只有一行,一个整数:“基因的核”的长度。
样例1
样例输入1
2
qwertyuiopasdfghjklzxcvbnmasdfghjklqwererttyyuu
mnbvcxzasdfgqwertyhjklpoyuiotrewqwertyuuioppas
样例输出1
18
样例2
样例输入2
4
abcdefg
bcdefgh
cdefghi
defghij
样例输出2
4
限制
10 datas,you have 2000ms to deal with per data!
提示
对于20%的数据,N<=5,length<=20
对于50%的数据,N<=10,length<=50
对于100%的数据,N<=100,length<=500,对于任何一组测试数据,设:“XNA”的平均长度为L,则L^N<=30000000
来源
本题目来自:北京市 中关村中学 高三9班 孙一(网名:talent123),联系方式:865383864(QQ)