돌연변이 비율

면접 대비

시간 제한2초메모리 제한512 MB

요약
각 위치에서 자신의 문자가 n명의 조상 문자와 모두 다른지 확인하여 변이 형질의 개수를 k로 나눈 분수를 출력한다.
난이도

쉬움10점 중 3점

유형
배열, 문자열, 구현
정답자
아직 제출이 없습니다

문제

일상적인 표현에서 "돌연변이"는 매우 특이한 기형을 지닌 개체, 또는 일부 슈퍼히어로의 경우 능력을 뜻한다. 생물학자에게 이 말은 부모에서 자식으로 넘어가는 유전 정보가 우연히 바뀐 현상을 가리킬 뿐이다. 어떤 형질이 돌연변이라고 단정하기는 까다로운데, 일부 유전 형질은 열성이어서 한 세대 동안 발현되지 않다가 뒤늦게 나타날 수 있기 때문이다. 따라서 어떤 형질이 진짜 돌연변인지 확인하려면 몇 세대를 거슬러 올라가야 할 수도 있다.

이 문제에서는 그 작업을 수행한다. 자신과 여러 조상의 발현된 형질이 길이 n인 문자열로 주어진다. 어떤 위치에서 자신의 값이 모든 조상의 값과 다르면 그 형질은 "돌연변이 형질"이다. 전체 형질 중 돌연변이 형질이 차지하는 비율, 즉 자신이 얼마나 돌연변이인지를 계산하라.

입력

첫 줄에는 파일에 들어 있는 입력 데이터 세트의 수 K ≥ 1이 주어진다. 이어서 K개의 데이터 세트가 다음 형식으로 주어진다.

각 데이터 세트의 첫 줄에는 두 정수 n, k가 주어지며, 1 ≤ n ≤ 100, 1 ≤ k ≤ 100이다. 이어서 정확히 k개의 대문자로 이루어진 n + 1개의 줄이 주어진다. 이 n + 1개의 줄 중 첫 줄은 자신의 형질을 나타내고, 나머지 n개의 줄은 각각 조상 한 명의 문자열을 나타낸다.

출력

각 데이터 세트마다 먼저 "Data Set x:"를 한 줄에 단독으로 출력한다. 여기서 x는 데이터 세트의 번호이다.

그다음 자신이 돌연변이인 형질의 비율을 출력한다. 비율은 약분하지 않는다. 예를 들어 형질 열 개 중 두 개에서 돌연변이라면 "1/5"나 "0.2"가 아니라 "2/10"을 출력한다.

각 데이터 세트의 출력 뒤에는 빈 줄을 하나 출력한다.

예제1

  1. 예제 1

    입력
    3
    1 5
    ABABA
    AABBB
    4 5
    AAAAA
    ABBBB
    CACCC
    DDADD
    EEEAE
    3 4
    ABCD
    DCBA
    ADBC
    CABD
    
    예상 출력
    Data Set 1:
    3/5
    
    Data Set 2:
    1/5
    
    Data Set 3:
    2/4