|
|||||||||||||||
|
GENOTYPY
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.
ZadanieNapisz program, który:
WejścieW pierwszym wierszu pliku tekstowego GEN.IN jest zapisana jedna liczba całkowita 1 <= n <= 10000. W każdym z n kolejnych wierszy jest zapisana jedna reguła pączkowania, w postaci słowa złożonego z trzech wielkich liter A - Z.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.
WyjścieW i-tym z kolejnych k wierszy pliku tekstowego GEN.OUT należy zapisać:
PrzykładDla pliku GEN.IN: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. |