Telah terbukti bahwa 13 ubin Wang persegi berikut selalu memasang pesawat secara aperiodik . Ini berarti bahwa ketika kotak disusun dalam kotak dengan semua sisi yang berdekatan dengan warna yang sama, terjemahan pola tidak akan pernah cocok dengan dirinya sendiri.
Kami akan mewakili setiap ubin secara tekstual dengan kisi 3 × 3 yang diisi dengan spasi di tengah dan sudut, dan angka 1 hingga 5 bukan warna merah, hijau, biru, kuning, abu-abu, di tepinya:
2 2 2 1 1 1 4 3 2 2 4 3 2
1 2 1 3 2 3 2 1 3 1 3 2 4 4 4 4 4 5 4 5 5 5 5 5 5 4
3 2 3 2 3 2 1 2 1 4 1 2 2
Tujuan
Tugas Anda adalah menulis sebuah program yang mengambil lebar dan tinggi dan mengeluarkan kotak ubin Wang yang valid dengan dimensi tersebut. Ubin yang valid adalah ubin di mana semua tepi ubin yang berdekatan memiliki warna (atau nomor) yang sama. Program terkecil dalam byte menang.
Input Anda harus berasal dari stdin atau argumen baris perintah dan output harus pergi ke stdout. Format input yang tepat dapat berupa sesuatu yang cukup jelas, seperti >>> wangtiler 3 2
. Lebar dan tinggi selalu bilangan bulat positif.
Contoh (lebar = 3, tinggi = 2)
Perhatikan bahwa ketika kita menata ubin tekstual, tepi tetangga membentuk pasangan digit yang diperlukan:
1 2 1
2 11 22 1
2 3 2
2 3 2
4 55 55 4
1 2 2
(Ini BUKAN format output yang tepat.)
Kami dapat mengompres ini secara horizontal dan vertikal untuk mendapatkan:
1 2 1
2 1 2 1
2 3 2
4 5 5 4
1 2 2
Format terkompresi ini adalah format output yang tepat yang harus Anda gunakan. Garis bernomor ganjil harus menyertakan spasi tambahan.
Bonus Grafis
Alih-alih memiliki output tekstual, program Anda dapat menampilkan gambar dari kotak ubin. Ubin grafis harus terdiri dari empat segitiga 45-45-90 yang tersusun dalam kotak dan menggunakan lima warna yang mudah dibedakan seperti ubin di atas. Perbatasan hitam tidak diperlukan. Ubin grafis harus berukuran setidaknya 32 × 32 piksel. Tidak ada "kompresi" yang diterapkan padanya.
Contoh gambar bonus: (kotak yang sama seperti contoh di atas)
Bonus bernilai minus 150 byte.
Catatan
- Anda harus menggunakan set 13 ubin ini.
- Ubin mungkin tidak diputar.
- Ubin dapat muncul beberapa kali (termasuk tidak ada sama sekali).
- Anda mungkin menganggap ubin yang valid dengan dimensi apa pun adalah mungkin.