Latar Belakang
Tatamibari adalah teka-teki logika yang dirancang oleh Nikoli.
Teka-teki Tatamibari dimainkan pada kotak persegi panjang dengan tiga jenis simbol yang berbeda di dalamnya: +
, -
. dan |
. Pemecah harus mempartisi kisi-kisi menjadi daerah persegi panjang atau persegi sesuai dengan aturan berikut:
- Setiap partisi harus mengandung tepat satu simbol di dalamnya.
- Sebuah
+
simbol harus terkandung dalam persegi. - Sebuah
|
simbol harus terkandung dalam sebuah persegi panjang dengan tinggi lebih besar dari lebar. - Sebuah
-
simbol harus terkandung dalam sebuah persegi panjang dengan lebar lebih besar dari ketinggian. - Empat potong mungkin tidak pernah berbagi sudut yang sama. (Beginilah biasanya ubin tatami Jepang ditempatkan.)
Berikut ini adalah contoh puzzle, dengan solusinya:
Tugas
Pecahkan puzzle Tatamibari yang diberikan.
Input output
Inputnya adalah kisi 2D yang mewakili puzzle Tatamibari yang diberikan. Setiap sel berisi salah satu dari empat karakter: +
, -
, |
, dan karakter pilihan Anda untuk mewakili sel non-petunjuk. Dalam kasus uji, tanda bintang *
digunakan.
Anda dapat memilih format output yang sesuai yang dapat secara jelas menunjukkan solusi valid untuk puzzle Tatamibari. Ini termasuk, tetapi tidak terbatas pada: (jika ragu, tanyakan komentar.)
- Daftar 4-tupel, di mana masing-masing tupel termasuk indeks atas, indeks kiri, lebar dan tinggi persegi panjang (atau representasi yang setara)
- Kotak numerik dengan bentuk yang sama dengan input, di mana setiap angka mewakili persegi panjang
- Daftar set koordinat, di mana setiap set menyertakan semua koordinat sel dalam persegi panjang
Jika sebuah teka-teki memiliki beberapa solusi, Anda dapat menampilkan nomor berapa saja (satu atau lebih) dari solusi yang valid. Input dijamin memiliki setidaknya satu solusi.
Uji kasus
Puzzle:
|-*
*+|
*-*
Solution:
122
134
554
=====
Puzzle:
+***
**|*
*+**
***-
Solution:
1122
1122
3322
3344
======
Puzzle:
|*+*+
*****
****-
***+|
+****
Solution:
12233
12233
44444
55667
55667
=======
Puzzle:
****-**
**-**|*
*|*****
****-**
*******
**+*|**
*****+*
One possible solution:
1122222
1133344
1155544
1155544
6667744
6667788
6667788
===========
Puzzle:
*-****|+**
+*-******|
****+*****
*-******||
**++|*****
+****-|***
-****-**+*
********-*
|*+*+|****
*-*--**+*+
Solution:
1111122334
5666622334
7777822994
7777A2299B
CCDEA2299B
CCFFFFGGHH
IIIIJJGGHH
KLLMMNGGOO
KLLMMNGGPP
QQRRSSSTPP
Aturan
Aturan standar kode-golf berlaku. Kode terpendek dalam byte menang.
sumber