0h n0เป็นเกมที่เล่นง่ายและสนุกมากเช่น Sudoku หรือเรือกวาดทุ่นระเบิด
กฎของเกม
(ฉันขอแนะนำให้ใช้บทช่วยสอนในเกมถ้าทำได้ทำได้ง่ายและมีประโยชน์)
จิ๊กซอว์เริ่มต้นด้วยn * n
กระดานที่มีชิ้นส่วนคงที่และเซลล์ว่างบางส่วนและผู้แก้ปัญหาต้องหาวิธีในการเติมชิ้นส่วนที่ว่างเปล่าด้วยเซลล์และสนองข้อ จำกัด ทั้งหมดที่กำหนดโดยชิ้นส่วนคงที่ นี่คือประเภทของชิ้นส่วนที่เราจะใช้กับตัวย่อ:
#
ชิ้นสีแดง (บล็อกมุมมองของชิ้นส่วนสีน้ำเงิน)O
ชิ้นส่วนสีน้ำเงิน.
ตำแหน่งว่างnumber
ชิ้นสีน้ำเงินที่มีหมายเลข (number
เป็นตัวเลขหนึ่งหลัก> 0)
ชิ้นส่วนที่เป็นตัวเลขทั้งหมดจะต้องเห็นจำนวนชิ้นสีน้ำเงินเท่ากับจำนวน ตัวอย่างเช่น:
#1O#O
...O.
1
ชิ้นสามารถดูเพียงชิ้นเดียวสีฟ้าอื่น ๆ
ชิ้นส่วนมองเห็นซึ่งกันและกัน
ชิ้นสีน้ำเงินสองชิ้นสามารถมองเห็นซึ่งกันและกันหากอยู่ในแถวหรือคอลัมน์เดียวกันและไม่มีชิ้นสีแดงอยู่ระหว่างกัน ตัวอย่าง:
( S
เป็นตำแหน่งที่O
ชิ้นส่วนสามารถมองเห็นX
ไม่เห็น)
S
S
X#SOSS
#
X
ชิ้นส่วนสีน้ำเงินแต่ละชิ้นต้องดูอย่างน้อยหนึ่งชิ้นสีน้ำเงินอื่น ๆ :
#O#
ทำงานได้ แต่:
#OO
หรือ:
###
ทำงาน.
คณะกรรมการการสาธิตแก้ปัญหา
.1..
..1.
....
22#2
ด้านล่างขวา 2 สามารถมองเห็นตัวเองด้านบนดังนั้นพวกเขาจะต้องเป็นสีฟ้าและด้านบนขวาจะต้องเป็นสีแดง
.1.#
..1O
...O
22#2
เมื่อ1
เติมเต็มเราสามารถล้อมรอบด้วยชิ้นส่วนสีแดง
.1##
.#1O
..#O
22#2
มุมซ้ายบน1
สามารถเห็นได้ในทิศทางเดียวเท่านั้นดังนั้นเราจึงสามารถเติมได้
O1##
.#1O
..#O
22#2
ตอนนี้เกี่ยวกับ2
s ล่าสุด เราสามารถใส่สีน้ำเงิน 2 ชิ้นไว้เหนือพวกมันได้
O1##
.#1O
OO#O
22#2
อันสุดท้ายจะเต็มไปด้วย #
O1##
##1O
OO#O
22#2
อินพุต
อินพุตเป็นสตริงที่มีหลายบรรทัด ขนาดจะ9x9
ไม่มีพื้นที่ต่อท้าย มันมีประเภทชิ้นต่อไปนี้:
.
ว่างเปล่า#
พรีเซ็ตสีแดงไม่สามารถเปลี่ยนได้number
หมายเลขที่ตั้งไว้ไม่สามารถเปลี่ยนแปลงได้
(โปรดทราบว่าสีน้ำเงินจะไม่อยู่ในอินพุต)
เอาท์พุต
เอาท์พุทเป็นเช่นเดียวกับการป้อนข้อมูลด้วยการเปลี่ยนแปลงที่ว่างเปล่า ( .
) จะถูกแทนที่ด้วยสีแดงหรือสีน้ำเงินเพื่อแก้ปัญหาคณะกรรมการและตัวเลขจะถูกแทนที่ด้วยชิ้นส่วนสีฟ้า ( O
)
ตัวอย่าง
(โปรดทราบว่าอาจมีการแก้ปัญหาหลายอย่างสำหรับแต่ละปริศนา แต่คุณจะต้องแสดงเพียงภาพเดียว)
Input:
........4
...3.1...
45...2.3.
..9......
1..6#44..
....4..5.
....4.36.
2.......6
1....4...
Output:
OOO###OOO
OOOO#O#OO
OOO#OO#OO
#OOOO#O##
O#OO#OOOO
O#OOOO#OO
#OOOO#OOO
OO#O#OOOO
O#OOOO#O#
Input:
..7..#...
#...8..11
2....5...
..5...48.
...#...4.
.5...6...
...1.2...
2.....6.8
.7..#....
Output:
OOOOO####
##OOOO#OO
O#OOOO###
OOO#OOOOO
OO##O##O#
#O##OOOOO
#O#O#O#OO
OO#OOOOOO
OOO###O#O
Input:
5.3..33..
...4...23
.6.6.34..
...3#....
....5..4.
.5....3..
7.98.6#.3
.5.6..2..
..6...2..
Output:
OOOOO####
##OOOO#OO
O#OOOO###
OOO#OOOOO
OO##O##O#
#O##OOOOO
#O#O#O#OO
OO#OOOOOO
OOO###O#O
ขอบคุณ@PeterTaylorและ@apsillersสำหรับความช่วยเหลือในกล่องทราย!