Zgłaszanie | Wszystkie zgłoszenia | Najlepsze | Lista |
JZYCIE - Gra w życie |
Brytyjski matematyk John Conway opracował w 1970 r. tak zwaną "grę w życie" - uproszczoną symulację rozwoju kolonii komórek, której rozmaite własności stały się przedmiotem rozważań matematyków i informatyków.
Gra toczy się na prostokątnej planszy podzielonej na pola. Każde pole może być żywe (jest na nim komórka) bądź martwe. W jednej jednostce czasu, każde pole sprawdza stan swoich sąsiadów i uzależnia od tego własną wartość. Jeżeli żywa komórka jest otoczona przez mniej niż 2 bądź więcej niż 3 komórki, umiera z osamotnienia bądź braku przestrzeni życiowej. Jeżeli puste (martwe) pole jest otoczone przez dokładnie trzy komórki, pojawia się na nim nowa. Za "otoczenie" uważamy osiem pól bezpośrednio sąsiadujących z komórką.
Nasza symulacja toczy się na planszy o rozmiarach 5x5 pól, w której granice łączą się ze sobą - tj. sąsiadem skrajnej lewej komórki jest skrajna prawa w tym samym wierszu, itd. Program ma za zadanie stwierdzić, czy w układzie po 100 jednostkach czasu pozostanie przynajmniej jedna żywa komórka.
Wejście
Na wejściu podana jest pojedyncza liczba n (1 < n < 100) oznaczająca ilość testów. Następnie podawane jest n*5 5-znakowych linii zawierających znaki '0' lub '1', oznaczające odpowiednio pole martwe i żywe.
Wyjście
Na wyjściu ma znaleźć się n pojedynczych słów "yes" (gdy istnieje przynajmniej jedna żywa komórka) lub "no" (gdy wszystkie pola są martwe). Słowa powinny być oddzielone znakiem końca linii.
Przykład
Wejście
2 00000 11001 00000 00000 00000 00000 01000 00000 00000 00001Wyjście
yes no
Autor: Paweł Niegowski VLO/B2005
Dodane przez: | Jarosław Drzeżdżon |
Data dodania: | 2007-03-23 |
Limit czasu wykonania programu: | 1s |
Limit długości kodu źródłowego | 50000B |
Limit pamięci: | 1536MB |
Cluster: | Cube (Intel G860) |
Języki programowania: | All except: ERL GOSU JS-RHINO NODEJS PERL6 |