#P8643. [蓝桥杯 2016 国 AC] 碱基
[蓝桥杯 2016 国 AC] 碱基
题目描述
生物学家正在对 个物种进行研究。
其中第 个物种的 DNA 序列为 ,其中的第 个碱基为 碱基一定是 A
,G
,C
,T
之一。
生物学家想找到这些生物中一部分生物的一些共性,他们现在关注那些至少在 个生物中出现的长度为 的连续碱基序列。准确的说,科学家关心的序列用 元组 表示,
满足:
且对于所有 ,
$$s[i_1][p_1+q]=s[i_2][p_2+q]= \cdots =s[i_m][p_m+q] $$现在给定所有生物的 DNA 序列,请告诉科学家有多少的 元组是需要关注的。如果两个 元组有任何一个位置不同,则认为是不同的元组。
输入格式
输入的第一行包含三个整数 ,,,两个整数之间用一个空格分隔,意义如题目所述。
接下来 行,每行一个字符串表示一种生物的 DNA 序列。
DNA 序列从 至 编号,每个序列中的碱基从 开始依次编号,不同的生物的 DNA 序列长度可能不同。
输出格式
输出一个整数,表示关注的元组个数。
答案可能很大,你需要输出答案除以 的余数。
3 2 2
ATC
TCG
ACG
2
4 3 3
AAA
AAAA
AAA
AAA
7
提示
数据规模与约定
对于 的数据, 所有字符串总长 满足 。
对于 的数据,。
对于 的数据,。
对于 的数据,。
保证所有 DNA 序列不为空且只会包含A
,G
,C
,T
四种字母。
时限 1 秒, 256M。蓝桥杯 2016 年第七届国赛