ความท้าทายนี้เป็นเกียรติของ Rookie of the Year ผู้ชนะหมวดBest of PPCG 2015 : muddyfish (สำหรับฉันไม่ใช่ภาษาที่คุณกำลังมองหา! ) และquartata (สำหรับImplement a Truth-Machine ) ขอแสดงความยินดี!
พื้นหลัง
ในร่องลึกที่ลึกที่สุดของมหาสมุทรมีปลารูปสี่เหลี่ยมที่หายากและเข้าใจยากที่เรียกว่าปลาควอตาตา ดูเหมือนเครื่องร่อนจากหุ่นยนต์ Game of Life นี่คือรูปปลาสองตัวที่มีขนาดต่างกัน:
-o-
--o
ooo
--oo--
--oo--
----oo
----oo
oooooo
oooooo
คุณสามารถถ่ายรูปปลาควอร์ตาตาได้ แต่ปลานั้นดูยากเพราะมันถูกปกคลุมด้วยโคลน ตอนนี้คุณต้องเขียนโปรแกรมเพื่อล้างรูปภาพ
อินพุต
การป้อนข้อมูลของคุณเป็นตาราง 2D แบบสี่เหลี่ยมของอักขระที่.-o#
กำหนดเป็นสตริงที่คั่นด้วยบรรทัดใหม่ หากคุณต้องการคุณสามารถใช้|
ไพพ์แทนการขึ้นบรรทัดใหม่เป็นตัวคั่นและคุณอาจสมมติหนึ่งตัวต่อท้ายและ / หรือตัวคั่นหน้า
ข้อมูลจะประกอบด้วยหนึ่ง quartata-fish บางอย่างของความยาวด้าน3*n
ซึ่งn ≥ 1
เป็นจำนวนเต็มบวกล้อมรอบด้วยจุด.
ที่เป็นตัวแทนของพื้นมหาสมุทร ปลาจะอยู่ในทิศทางที่ปรากฎด้านบนเสมอ ที่วางซ้อนบนตารางนี้จะมีพื้นที่สี่เหลี่ยมที่ไม่มีช่องว่างของแฮช#
ซึ่งแสดงถึงโคลนหยด หยดอาจครอบคลุม quartata-fish บางส่วนหรือทั้งหมด ตัวอย่างอินพุตจะเป็น
............
..--oo--....
..--oo--....
..---#####..
..---#####..
..ooo#####..
..oooooo....
เอาท์พุต
ผลลัพธ์ของคุณจะถูกสร้างขึ้นจากอินพุตโดยแทนที่แฮชทั้งหมดด้วยอักขระ.-o
เพื่อให้กริดมีหนึ่งควอตาตา - ปลา จะมีวิธีที่ไม่ซ้ำกันในการดำเนินการเปลี่ยนอย่างถูกต้อง โดยเฉพาะหยดโคลนจะคลุมปลาทั้งหมดหากขนาดของมันคือ 3 × 3 เอาตพุตตองใชตัวคั่นเดียวกับอินพุต สำหรับอินพุตข้างต้นเอาต์พุตที่ถูกต้องจะเป็น
............
..--oo--....
..--oo--....
..----oo....
..----oo....
..oooooo....
..oooooo....
กฎและการให้คะแนน
คุณสามารถเขียนโปรแกรมเต็มรูปแบบหรือฟังก์ชั่น จำนวนไบต์ต่ำสุดที่ชนะและไม่อนุญาตช่องโหว่มาตรฐาน ไม่มีขอบเขตเวลา: หากการส่งของคุณจะหยุดเวลาและทรัพยากรไม่ จำกัด ในที่สุดคุณก็ไม่เป็นไร
กรณีทดสอบ
Input:
.......
...-o-.
...--o.
##.ooo.
##.....
Output:
.......
...-o-.
...--o.
...ooo.
.......
Input:
...-o-.
...-#o.
...ooo.
.......
Output:
...-o-.
...--o.
...ooo.
.......
Input:
.........
.###.....
.###.....
.ooo.....
Output:
.........
.-o-.....
.--o.....
.ooo.....
Input:
.....
.###.
.###.
.###.
Output:
.....
.-o-.
.--o.
.ooo.
Input:
......
......
......
...###
...###
...###
Output:
......
......
......
...-o-
...--o
...ooo
Input:
###o--....
###o--....
###-oo....
###-oo....
###ooo....
###ooo....
###.......
Output:
--oo--....
--oo--....
----oo....
----oo....
oooooo....
oooooo....
..........
Input:
............
..--oo--....
..--oo--....
..---#####..
..---#####..
..ooo#####..
..oooooo....
Output:
............
..--oo--....
..--oo--....
..----oo....
..----oo....
..oooooo....
..oooooo....
Input:
...--oo--....
.#########...
.#########...
.#########...
...oooooo....
...oooooo....
.............
.............
Output:
...--oo--....
...--oo--....
...----oo....
...----oo....
...oooooo....
...oooooo....
.............
.............
Input:
..............
..............
.########.....
.########.....
.########-....
.########-....
.########o....
.########o....
.########o....
.########o....
.########.....
..............
Output:
..............
..............
..............
..............
....--oo--....
....--oo--....
....----oo....
....----oo....
....oooooo....
....oooooo....
..............
..............
Input:
.................
.................
..---ooo---......
..--#########....
..--#########....
..--#########....
..--#########....
..--#########....
..oo#########....
..oo#########....
..oo#########....
....#########....
Output:
.................
.................
..---ooo---......
..---ooo---......
..---ooo---......
..------ooo......
..------ooo......
..------ooo......
..ooooooooo......
..ooooooooo......
..ooooooooo......
.................
Input:
.........................
.........................
....----oooo----.........
....----########.........
....----########.........
....----########.........
....----########.........
....----########.........
....----########.........
....----########.........
....oooo########.........
....oooo########.........
....oooooooooooo.........
....oooooooooooo.........
.........................
Output:
.........................
.........................
....----oooo----.........
....----oooo----.........
....----oooo----.........
....----oooo----.........
....--------oooo.........
....--------oooo.........
....--------oooo.........
....--------oooo.........
....oooooooooooo.........
....oooooooooooo.........
....oooooooooooo.........
....oooooooooooo.........
.........................
......|......|......|...###|...###|...###
(ในกรณีที่วิธีการแก้ปัญหาพยายามพิกัดด้านบนซ้ายที่เป็นไปได้ทั้งหมดและพยายามใส่ 6x6 ในพื้นที่)