พื้นหลัง
Tatamibariเป็นปริศนาตรรกะที่ออกแบบโดย Nikoli
ปริศนา Tatamibari +
เล่นบนตารางสี่เหลี่ยมที่มีสามชนิดที่แตกต่างกันของสัญลักษณ์ในมัน-
, |
และ ตัวแก้ปัญหาต้องแบ่งพาร์ติชันของกริดออกเป็นพื้นที่สี่เหลี่ยมหรือสี่เหลี่ยมตามกฎต่อไปนี้
- ทุกพาร์ติชันจะต้องมีสัญลักษณ์หนึ่งตัวอยู่ในนั้น
+
สัญลักษณ์จะต้องมีอยู่ในตาราง|
สัญลักษณ์จะต้องอยู่ในรูปสี่เหลี่ยมผืนผ้าที่มีความสูงมากกว่าความกว้าง-
สัญลักษณ์จะต้องอยู่ในรูปสี่เหลี่ยมผืนผ้าที่มีความกว้างมากกว่าความสูง- สี่ชิ้นอาจไม่เคยแบ่งปันมุมเดียวกัน (นี่คือวิธีการวางกระเบื้องทาทามิญี่ปุ่นโดยปกติ)
ต่อไปนี้เป็นตัวอย่างปริศนาที่มีวิธีแก้ไข:
งาน
แก้ปริศนา Tatamibari ที่ให้มา
อินพุตและเอาต์พุต
อินพุตเป็นตาราง 2D ที่แสดงถึงตัวต่อ Tatamibari puzzle เซลล์แต่ละคนมีหนึ่งในสี่ตัวอักษร: +
, -
, |
, และตัวอักษรที่คุณเลือกที่จะเป็นตัวแทนเซลล์ที่ไม่ได้เบาะแส ในกรณีทดสอบ*
จะใช้เครื่องหมายดอกจัน
คุณสามารถเลือกรูปแบบผลลัพธ์ที่เหมาะสมซึ่งสามารถแสดงวิธีแก้ปัญหาที่ถูกต้องกับปริศนา Tatamibari ซึ่งรวมถึง แต่ไม่ จำกัด เฉพาะ: (หากมีข้อสงสัยให้ถามในความคิดเห็น)
- รายการของ 4-tuples โดยที่แต่ละ tuple จะมีดัชนีด้านบน, ดัชนีด้านซ้าย, ความกว้างและความสูงของสี่เหลี่ยมผืนผ้า (หรือการแสดงที่เทียบเท่ากัน)
- กริดตัวเลขที่มีรูปร่างเดียวกันกับอินพุตโดยที่แต่ละหมายเลขจะแทนสี่เหลี่ยมผืนผ้า
- รายการชุดพิกัดที่แต่ละชุดมีพิกัดทั้งหมดของเซลล์ในสี่เหลี่ยมผืนผ้า
หากตัวต่อมีหลายทางคุณสามารถส่งออกจำนวนที่ถูกต้อง (หนึ่งหรือมากกว่า) ของการแก้ปัญหาที่ถูกต้อง อินพุตรับประกันว่ามีทางออกอย่างน้อยหนึ่งรายการ
กรณีทดสอบ
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
กฎระเบียบ
ใช้กฎมาตรฐานของกอล์ฟ รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ