Ada permainan otak yang disebut Enumerate (yang saya buat, berdasarkan Takuzu ). Tantangan Anda adalah memainkan game ini.
Tugas
Pecahkan game 4x4 Enumerate / Takuzu.
- Terima kisi start melalui STDIN atau baris perintah.
- Keluarkan grid yang dipecahkan melalui STDOUT atau menulis ke file.
Aturan
Gim ditandai dengan papan 4x4, terdiri dari sel merah dan ungu.
Harus ada jumlah sel merah dan ungu yang sama di setiap baris dan kolom (masing-masing 2 merah dan 2 ungu).
Tidak boleh ada baris atau kolom yang identik.
Memasukkan
Grid mulai akan diberikan sebagai string 16 karakter / byte yang terdiri dari hanya 0
, 1
dan 2
. Berikut ini sebuah contoh:
0001100002001200
1
mewakili sel merah dan 2
mewakili sel ungu. Semua papan input akan dapat dipecahkan.
Catatan: Jika bahasa Anda tidak mendukung input string literal , Anda dapat mengambil input sebagai array bilangan bulat. Harap sebutkan dalam jawaban Anda bahwa inilah masalahnya. Jadi tidak ada kebingungan, beginilah kata array seharusnya:
[0, 0, 0, 1, 1, 0, 0, 0, 0, 2, 0, 0, 1, 2, 0, 0]
Array bersarang tidak diizinkan.
Keluaran
Papan yang dipecahkan harus berupa output dalam format yang sama seperti di atas; string 16 karakter / byte, hanya terdiri dari 1
dan 2
. Berikut ini solusi untuk input di atas:
2121112222111212
Sekali lagi, 1
mewakili sel merah dan 2
mewakili sel ungu.
Bonus
Sebuah bonus -25 byte ditawarkan untuk setiap jawaban yang output papan dipecahkan sebagai jaringan ASCII. Berikut adalah contoh papan yang disebutkan sebelumnya.
2|1|2|1
-+-+-+-
1|1|2|2
-+-+-+-
2|2|1|1
-+-+-+-
1|2|1|2
Sebuah -50 byte bonus yang ditawarkan untuk setiap jawaban yang output papan diselesaikan dalam warna. Ini bisa menjadi output sebagai gambar atau teks berwarna.
Jika teks berwarna dipilih, hasilnya akan terlihat seperti ini:
2121
1122
2211
1212
Namun, jika gambar adalah metode output yang dipilih, file yang dihasilkan harus 20x20 piksel, di mana setiap sel adalah blok piksel 5x5 berwarna. Berikut ini sebuah contoh:
Berikut adalah kode warna:
Red - #a73cba OR (167, 60, 186)
Purple - #f94a32 OR (249, 74, 50)
Sampel
In: 0020010100000100
Out: 1221212112122112
In: 0010000200121000
Out: 2211112221121221
In: 1000100102000000
Out: 1122122122112112
0
, 1
dan 2
? Bagaimana dengan array dua dimensi?