StewieのGame of Life and Fatigueは、より有名なConwayのGame of Lifeによく似ています。
StewieのGame of Life and Fatigue(GoLF)の宇宙は、正方形のセルの無限の2次元直交グリッドであり、それぞれが生きている、死んでいる、または疲れている、3つの可能な状態の1つにあります。すべてのセルは、隣接する8つのセル(水平、垂直、または斜めに隣接するセル)と相互作用します。時間の各ステップで、次の遷移が発生します。
- 人口が少ないことが原因であるかのように、生存細胞が2つ未満の生存細胞は死にます。
- 2つまたは3つの生きている隣人を持つ生きている細胞は、次の世代まで生き続けます。
- 過密状態のように、3つ以上の隣接セルを持つ生存細胞は死にます。
- ちょうど3つの生きている隣人がいる死んだ細胞は、まるで生殖のように生きている細胞になります。
- 2世代連続して生存していた細胞は、まるで疲労のように死にます。次世代になるまで、再び目覚めることはできません
- 入力グリッドの境界の外側にあるセルは、崖から落ちたように死んでいます。
チャレンジ:
あなたの課題は、GoLFの初期状態を表すn行m列の次元のグリッドと整数pを取り、p世代後のゲームの状態を出力することです。
ルール:
- 入力形式と出力形式はオプションですが、入力/出力グリッドは同じ表現でなければなりません
- 印刷可能なシンボルを選択して、生細胞と死細胞を表すことができます(私は
1
生細胞と0
死細胞に使用します)。 - インデックスが0か1かを選択できます。例で
p=1
は、は1ステップ後の状態を意味します。 - 各言語で最短のコードが優先されます
- セルラーオートメーションの組み込み機能が許可されています
テストケース:
例では、pではなく、入力に入力グリッドのみを含めています。さまざまなp値の出力を提供しました。与えられた入力pに対応するグリッドのみを出力します。
Input:
0 0 0 0 0
0 0 1 0 0
0 0 1 0 0
0 0 1 0 0
0 0 0 0 0
--- Output ---
p = 1
0 0 0 0 0
0 0 0 0 0
0 1 1 1 0
0 0 0 0 0
0 0 0 0 0
p = 2
0 0 0 0 0
0 0 1 0 0
0 0 0 0 0
0 0 1 0 0
0 0 0 0 0
p = 3 -> All dead
---
Input:
0 1 0 0 0 0
0 0 1 0 0 0
1 1 1 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
--- Output ---
p = 1
0 0 0 0 0 0
1 0 1 0 0 0
0 1 1 0 0 0
0 1 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
p = 2
0 0 0 0 0 0
0 0 0 0 0 0
1 0 0 0 0 0
0 1 1 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
p = 3
0 0 0 0 0 0
0 0 0 0 0 0
0 1 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
p = 4 -> All dead
Input
0 1 1 0 1 1 0
1 1 0 1 1 1 1
0 1 0 0 0 1 0
0 0 0 1 1 0 1
1 0 0 1 0 1 1
0 0 1 1 0 1 1
1 1 0 0 0 0 1
--- Output ---
p = 1
1 1 1 0 0 0 1
1 0 0 1 0 0 1
1 1 0 0 0 0 0
0 0 1 1 0 0 1
0 0 0 0 0 0 0
1 0 1 1 0 0 0
0 1 1 0 0 1 1
p = 2
1 0 0 0 0 0 0
0 0 0 0 0 0 0
1 0 0 1 0 0 0
0 1 1 0 0 0 0
0 1 0 0 0 0 0
0 0 0 0 0 0 0
0 0 1 1 0 0 0
p = 3
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 1 1 0 0 0 0
1 1 0 0 0 0 0
0 1 1 0 0 0 0
0 0 1 0 0 0 0
0 0 0 0 0 0 0
p = 4
0 0 0 0 0 0 0
0 0 0 0 0 0 0
1 1 1 0 0 0 0
1 0 0 0 0 0 0
1 0 1 0 0 0 0
0 1 1 0 0 0 0
0 0 0 0 0 0 0
p = 5
0 0 0 0 0 0 0
0 1 0 0 0 0 0
1 0 0 0 0 0 0
0 0 1 0 0 0 0
1 0 0 0 0 0 0
0 1 0 0 0 0 0
0 0 0 0 0 0 0
p = 6
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 1 0 0 0 0 0
0 1 0 0 0 0 0
0 1 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
p = 7
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
1 1 1 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
p = 8
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 1 0 0 0 0 0
0 0 0 0 0 0 0
0 1 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
p = 9 -> All dead
はい、私はすべての最初の種がすべての細胞が死んで終わらないことを知っています。