Enumerate(Takuzuを基に作成)と呼ばれる脳ゲームが存在します。あなたの課題は、このゲームをプレイすることです。
仕事
4x4 Enumerate / Takuzuのゲームを解きます。
- STDINまたはコマンドラインを介して開始グリッドを受け取ります。
- STDOUTまたはファイルへの書き込みを介して解決済みグリッドを出力します。
ルール
ゲームの特徴は、赤と紫のセルで構成される4x4のボードです。
各行と列に同じ数の赤と紫のセルが必要です(それぞれ2つの赤と2つの紫)。
同一の行または列があってはなりません。
入力
開始グリッドは16文字/バイトのみからなる文字列として与えられます0
、1
と2
。次に例を示します。
0001100002001200
1
赤色のセルと2
紫色のセルを表します。すべての入力ボードは解決可能です。
注:言語が文字列リテラル入力をサポートしていない場合は、整数の配列として入力を受け取ることができます。これが事実であることを回答で述べてください。したがって、混乱はありません。これは、配列が次のようになるはずです。
[0, 0, 0, 1, 1, 0, 0, 0, 0, 2, 0, 0, 1, 2, 0, 0]
ネストされた配列は許可されていません。
出力
解決されたボードは上記と同じ形式で出力されます。1
およびのみで構成される16文字/バイトの文字列2
。上記の入力に対する解決策は次のとおりです。
2121112222111212
ここでも、1
赤色のセルと2
紫色のセルを表します。
ボーナス
-25バイトのボーナスは ASCIIグリッドとして解くボードを出力任意の答えのために提供されます。これは、前述のボードの例です。
2|1|2|1
-+-+-+-
1|1|2|2
-+-+-+-
2|2|1|1
-+-+-+-
1|2|1|2
ボーナスバイト-50はカラーで解決ボードを出力任意の答えのために提供されます。これは、画像または色付きのテキストとして出力できます。
色付きのテキストが選択されている場合、出力は次のようになります。
2121
1122
2211
1212
ただし、画像が選択された出力方法である場合、結果のファイルは20x20ピクセルである必要があり、各セルは色付きの5x5ピクセルブロックです。次に例を示します。
ここに色分けがあります:
Red - #a73cba OR (167, 60, 186)
Purple - #f94a32 OR (249, 74, 50)
サンプル
In: 0020010100000100
Out: 1221212112122112
In: 0010000200121000
Out: 2211112221121221
In: 1000100102000000
Out: 1122122122112112
0
、1
と2
?2次元配列はどうですか?