Hide

Problem B
Genetik

Languages de en et is ja lt lv no pl ru sv

Vissa förbrytare vill ta över världen. Ett vanligt sätt för förbrytare att undvika att bli straffade är att klona sig själva. Du har nu fångat en förbrytare och hennes $N-1$ kloner. Du ska ta reda på vem av dem som är den riktiga förbrytaren.

Du har tillgång till varje infångad persons DNA, som består av $M$ bokstäver där varje bokstav är antingen A, C, G eller T. Du vet också att klonerna inte är perfekta kopior, utan DNA-sekvensen för varje klon skiljer sig på exakt $K$ ställen jämfört med den riktiga förbrytaren.

Kan du identifiera den riktiga förbrytaren?

Indata

Den första raden innehåller tre heltal $N$, $M$ och $K$, där $1 \le K \le M$. Följande $N$ rader innehåller DNA-sekvenser. Varje av dessa innehåller $M$ bokstäver, där varje bokstav är någon av A, C, G or T.

Det finns, i inputen, exakt en sekvens som skiljer sig från alla andra på exakt $K$ ställen.

Varning: Det här problemet har stora mängder indata, och kräver snabb IO om man använder Java.

Utdata

Skriv ut ett heltal – indexet av DNA-sekvensen som tillhör förbrytaren. Sekvensernas index börjar med $1$.

Begränsningar

Din lösning kommer att testas på en uppsättning testgrupper, var och en värd en viss poäng. Varje testgrupp innehåller flera testfall. För att få poäng för en testgrupp måste du klara alla testfallen i gruppen. Din slutgiltiga poäng på problemet kommer att vara den maximala poängen av en enda submission.

Grupp

Poäng

Gränser

Övriga begränsningar

1

27

$3 \le N, M \le 100$

 

2

19

$3 \le N, M \le 1800$

Alla bokstäver är antingen A eller C.

3

28

$3 \le N, M \le 4100$

Alla bokstäver är antingen A eller C.

4

26

$3 \le N, M \le 4100$

 
Exempel-indata 1 Exempel-utdata 1
4 3 1
ACC
CCA
ACA
AAA
3
Exempel-indata 2 Exempel-utdata 2
4 4 3
CATT
CAAA
ATGA
TCTA
4