#bzoj4782. Bovine Genomics

    ID: 5269 远端评测题 1000ms 256MiB 尝试: 0 已通过: 0 难度: 5.6 上传者: 标签>特殊题目Remote Judge搜索枚举其他离散化bzojUSACO2017

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