Hide

Problem G
Genetik

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

Schurken, die die Weltherrschaft übernehmen wollen, lassen sich gerne klonen, um der Gefangennahme zu entgehen. Du hast es geschafft, eine böse Schurkin zusammen mit ihren $N-1$ Klonen zu fassen, und möchtest nun herausfinden, welche von ihnen das Original ist.

Hilfreicherweise hast du die DNA-Sequenzen aller Personen, die jeweils aus $M$ Zeichen bestehen, jedes entweder A, C, G oder T. Außerdem weißt du, dass die Klone nicht perfekt sind; stattdessen unterscheiden sich die DNA-Sequenzen eines Klons an genau $K$ Stellen vom Original.

Kannst du das Original identifizieren?

Eingabe

Die erste Zeile enthält drei ganze Zahlen $N$, $M$, und $K$, wobei $1 \le K \le M$ gilt. Die folgenden $N$ Zeilen beschreiben die DNA-Sequenzen. Jede dieser Zeilen besteht aus $M$ Zeichen, von denen jede entweder A, C, G oder T ist.

In der Eingabe gibt es genau eine Sequenz, die sich von allen anderen in genau $K$ Stellen unterscheidet.

Warnung: Diese Aufgabe hat eine große Eingabe, und wird in Java schnelle Ein- und Ausgaberoutinen erfordern.

Ausgabe

Gib eine ganze Zahl aus: Den Index der DNA-Sequenz, die zu der Original-Schurkin gehört. Die Sequenzen sind von $1$ beginnend nummeriert.

Beschränkungen

Deine Lösung wird auf mehreren Testgruppen ausgeführt werden, von denen jede eine bestimmte Punktzahl wert ist. Jede Testgruppe enthält mehrere Testcases. Um Punkte für eine Testgruppe zu bekommen, müssen alle Testfälle in der entsprechenden Gruppe gelöst werden. Deine finale Punktzahl wird die maximal erreichte Punktzahl in einer einzelnen Einsendungen sein.

Gruppe

Punkte

Limits

Zusätzliche Beschränkungen

1

27

$3 \le N, M \le 100$

 

2

19

$3 \le N, M \le 1800$

Alle Zeichen sind entweder A oder C.

3

28

$3 \le N, M \le 4100$

Alle Zeichen sind entweder A oder C.

4

26

$3 \le N, M \le 4100$

 
Beispieleingabe 1 Beispielausgabe 1
4 3 1
ACC
CCA
ACA
AAA
3
Beispieleingabe 2 Beispielausgabe 2
4 4 3
CATT
CAAA
ATGA
TCTA
4