قواعد بازی زندگی (Game of Life) که توسط جان کانوی طراحی شده است، ساده هستند اما رفتارهای پیچیدهای را تولید میکنند. این بازی در یک شبکهی دوبعدی انجام میشود که هر خانه میتواند دو حالت داشته باشد: زنده (1
) یا مرده (0
). تغییر وضعیت هر خانه براساس وضعیت همسایههای آن رخ میدهد. در ضمن در نظر داشته باشید که دو خانه را همسایه میگوییم اگر در یک نقطه یا یک ضلع مشترک باشند.
برنامهای بنویسید که یک جدول بگیرد، که هر خانهی آن 0
(مرده) یا 1
(زنده) است. این برنامه باید پس از هر مرحله، وضعیت جدید سلولها را با توجه به قواعد بازی زندگی به روز کند و نتیجه را چاپ کند.
در سطر اول ورودی، یک صحیح داده میشود که اندازه جدول را مشخص میکند.
در سطر بعدی، یک جدول شامل 0
و 1
که وضعیت اولیهی بازی را مشخص میکند.
در سطر مانند ورودی، یک جدول از 0
و 1
چاپ کنید که وضعیت جدید جدول پس از یک مرحله بازی را مشخص کند.