Conway-in Həyat Oyunu
"Həyat Oyunu" 1970-ci ildə riyaziyyatçı John Horton Conway tərəfindən yaradılmış heyranedici bir hüceyrə avtomatıdır (cellular automaton). Oyun "canlı" (1) və ya "ölü" (0) ola bilən hüceyrələrdən ibarət ikiölçülü bir şəbəkədə (matrisdə) cərəyan edir.
Hər nəsildən (generation) sonra hüceyrələr özlərinin 8 qonşusu (üfüqi, şaquli və diaqonal bitişik xanalar) ilə qarşılıqlı əlaqəyə girir və müəyyən qaydalara əsasən növbəti nəsil yaranır.
Növbəti nəsli hesablamaq üçün hər bir xanaya aşağıdakı qaydalar tətbiq edilir:
Yaşamağa davam edir: İki və ya üç canlı qonşusu olan istənilən canlı hüceyrə yaşamağa davam edir.
Canlanır: Düz üç canlı qonşusu olan istənilən ölü hüceyrə canlanır (1 olur).
Ölür: Digər bütün hallarda hüceyrə ölür (və ya ölü qalır). Yəni canlı hüceyrənin 2-dən az canlı qonşusu varsa (tənhalıqdan) və ya 3-dən çox canlı qonşusu varsa (həddindən artıq sıxlıqdan) ölür.
Vacib Qeyd: Qaydalar bütün hüceyrələrə eyni anda tətbiq edilməlidir. Yəni bir hüceyrənin yeni vəziyyəti, qonşularının əvvəlki nəsildəki vəziyyətinə əsasən hesablanmalıdır.
Sizin vəzifəniz 1 və 0-lardan ibarət başlanğıc matrisi qəbul edib, yuxarıdakı qaydaları tətbiq edərək növbəti nəslin (next generation) matrisini qaytaran proqram yazmaqdır.
Giriş verilənləri:
Birinci sətirdə matrisin sətir (R) və sütun (C) sayını bildirən iki tam ədəd verilir.
Növbəti R sətrin hər birində aralarında boşluq olmaqla C ədəd tam ədəd (0 və ya 1) verilir.
Çıxış verilənləri:
Növbəti nəsli təmsil edən R x C ölçülü matrisi çap edin. Hər sətirdəki rəqəmlər arasında bir boşluq olmalıdır. (R=0 və ya C=0 olarsa, heç nə çap etməyin).