#bzoj4782. Bovine Genomics
Bovine Genomics
题目描述
农民约翰拥有N头有斑点的奶牛和N头没有斑点的奶牛。刚刚完成牛遗传学课程后,他确信奶牛身上的斑点是由牛基因组突变引起的。农民约翰花费巨资对奶牛的基因组进行测序。每个基因组都是一个长度为M的字符串,由四个字符a、C、G和T组成。当他排列奶牛的基因组时,他得到了一个如下表,其中N=3:
职位:1 2 3 4 5 6 7。M
斑点牛1:A A T C C A。T
斑点奶牛2:G A T T G C A。A.
斑点奶牛3:G G T C G C A。A.
普通奶牛1:A C T C C A。G
普通奶牛2:A G T T G C A。T
普通奶牛3:A G T C C A。T
仔细看这张表,他推测位置2和4足以解释斑点。也就是说,通过观察这两个位置的人物,农民约翰可以预测他的奶牛中哪些是斑点的,哪些不是(例如,如果他看到G和C,奶牛一定是斑点的)。Farmer John坚信,斑点现象不仅可以通过基因组中的一两个位置来解释,还可以通过观察一组三个不同的位置来解释。请帮他数一数三组不同的位置,每组可以解释斑点。
给定n个A串和n个B串,长度均为m,求有多少三元组(x,y,z),使得不存在一个A串a和一个B串b,使得
(a[x],a[y],a[z])=(b[x],b[y],b[z])
n≤500,m≤50
输入格式
第一行输入包含N(1≤N≤500)和M(3≤M≤50)。接下来的N行每行包含一个M个字符的字符串;这些描述了斑点奶牛的基因组。最后的N行描述了普通奶牛的基因组。
输出格式
请数一数可以解释斑点的三个不同位置的集合数量。如果仅通过观察基因组中的这三个位置就可以在Farmer John的奶牛群体中以完美的准确性预测斑点特征,那么一组三个位置可以解释斑点。
3 8
AATCCCAT
GATTGCAA
GGTCGCAA
ACTCCCAG
ACTCGCAT
ACTTCCAT
22