IV Olimpiada Informatyczna 1996/97
|
Zadanie: GEN
|
Autor: Przemysława Kanarek
|
Zawody II stopnia |
Plik źródłowy: | GEN.??? (np. pas, c, cpp) |
Plik wykonywalny: | GEN.exe |
Plik wejściowy: | GEN.in |
Plik wyjściowy: | GEN.out |
Genotypy są skończonymi łańcuchami genów. Opisujemy je za pomocą słów utworzonych z wielkich liter alfabetu angielskiego A - Z. Różne litery oznaczają różne rodzaje genów. Gen może pączkować - zmieniając się w dwójkę nowych genów. Tymi przemianami rządzi skończony zbiór reguł. Każdą regułę pączkowania można zapisać w postaci trójki wielkich liter A1A2A3 co oznacza, że gen A1 może się zmienić w dwójkę genów A2A3.
Wielką literą S oznaczamy specjalny rodzaj genów zwanych supergenami. Hodowla genotypu rozpoczyna się od łańcucha supergenów i polega na sterowanym pączkowaniu wybranych genów zgodnie z ustalonymi regułami.
W następnym wierszu jest zapisana jedna liczba całkowita 1 <= k <= 10000. W każdym z k kolejnych wierszy jest zapisany jeden genotyp w postaci niepustego słowa złożonego z co najwyżej 100 liter A - Z.
6 SAB SBC SAA ACA BCC CBC 3 ABBCAAABCA CCC BApoprawnym rozwiązaniem jest plik GEN.OUT:
3 1 NIE
Twój program powinien szukać pliku GEN.IN w katalogu bieżącym i tworzyć plik GEN.OUT również w bieżącym katalogu. Plik zawierający napisany przez Ciebie program w postaci źródłowej powinien mieć nazwę GEN.???, gdzie zamiast ??? należy wpisać co najwyżej trzyliterowy skrót nazwy użytego języka programowania. Ten sam program w postaci wykonalnej powinien być zapisany w pliku GEN.EXE.