점박이 소와 민무늬 소가 같은 세 문자를 갖지 않는 유전체 위치 세 곳의 조합 수를 센다.
보통4완전 탐색해시맵문자열조합론면접 대비아직 제출이 없습니다시간 제한2초메모리 제한512 MB농부 존에게는 점박이 소 N마리와 점이 없는 소 N마리가 있다. 얼마 전 소 유전학 강의를 마친 존은 소의 점이 소 유전체의 돌연변이 때문에 생긴다고 확신한다.
존은 큰 비용을 들여 소들의 유전체를 해독했다. 각 유전체는 A, C, G, T 네 문자로 이루어진 길이 M의 문자열이다. 소들의 유전체를 나란히 늘어놓으면 다음과 같은 표가 된다. 아래는 N=3인 경우이다.
Positions: 1 2 3 4 5 6 7 ... M
Spotty Cow 1: A A T C C C A ... T
Spotty Cow 2: G A T T G C A ... A
Spotty Cow 3: G G T C G C A ... A
Plain Cow 1: A C T C C C A ... G
Plain Cow 2: A G T T G C A ... T
Plain Cow 3: A G T T C C A ... T
이 표를 자세히 보면 위치 2와 위치 4만으로 점박이 여부를 설명할 수 있다. 즉 이 두 위치의 문자만 보고도 어느 소가 점박이이고 어느 소가 아닌지 예측할 수 있다. 예를 들어 G와 C가 보이면 그 소는 반드시 점박이이다.
존은 점박이 여부가 유전체의 위치 한두 개가 아니라 서로 다른 세 위치의 집합으로 설명된다고 확신한다. 점박이 여부를 설명할 수 있는 서로 다른 세 위치의 집합이 몇 개인지 세어 존을 도와주자.
첫째 줄에 N (1≤N≤500)과 M (3≤M≤50)이 주어진다. 다음 N개의 줄에는 각각 길이 M의 문자열이 주어지며, 점박이 소들의 유전체를 나타낸다. 마지막 N개의 줄은 점이 없는 소들의 유전체를 나타낸다. 모든 문자열은 A, C, G, T로만 이루어져 있다.
점박이 여부를 설명할 수 있는 서로 다른 세 위치의 집합의 개수를 출력한다. 세 위치의 집합이 점박이 여부를 설명한다는 것은 유전체에서 그 세 위치만 보고도 존의 소 전체에 대해 점박이 여부를 완벽하게 예측할 수 있다는 뜻이다. 다시 말해 어떤 점박이 소와 어떤 점이 없는 소를 골라도 세 위치의 문자가 모두 같은 경우가 없어야 한다.