คุณได้รับการว่าจ้างเป็นผู้ช่วยวิจัยและขอให้สร้างโปรแกรมขนาดเล็กที่จะสร้างเขาวงกตหนู กล่องหนูอยู่เสมอ 62x22 และมีทางเข้า (a) และทางออก (A) สำหรับหนูเช่นนี้ (อินพุต 1):
#######a######################################################
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
#################################################A############
โปรแกรมของคุณจะต้องกรอกกล่องด้วยบล็อก (#) ออกจากเส้นทางสำหรับหนูเช่นนี้ (ผลลัพธ์ 1)
#######a######################################################
####### ######################################################
####### ######################################################
####### ######################################################
####### ######################################################
####### ############
################################################# ############
################################################# ############
################################################# ############
################################################# ############
################################################# ############
################################################# ############
################################################# ############
################################################# ############
################################################# ############
################################################# ############
################################################# ############
################################################# ############
################################################# ############
################################################# ############
################################################# ############
#################################################A############
นี่เป็นเรื่องง่ายที่คุณคิด! คุณเริ่มเขียนโปรแกรมขนาดเล็กเต็มไปด้วยความมั่นใจ อย่างไรก็ตามหลักการนักวิทยาศาสตร์มีความคิดใหม่ - เขาต้องการหนูสองตัวเพื่อนำทางเขาวงกตในเวลาเดียวกัน Dr Rattanshnorter อธิบายว่าพวกเขามีประตูและทางออกที่แตกต่างกัน (อินพุต 2):
#b#####a######################################################
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# B
# #
#################################################A############
หนูได้รับการฝึกฝนให้เคลื่อนที่ผ่านทางแยก แต่ T-intersection ปล่อยให้พวกมันสับสนอย่างสิ้นหวังและจะทำให้การทดลองเป็นโมฆะ คุณเริ่มงานใหม่ที่ซับซ้อนมากขึ้นเมื่อแพทย์ที่ดีอธิบายถึงข้อกำหนดสุดท้าย: หนูเป็นสัตว์ป่าที่ดุร้ายต่อกันดังนั้นหากพวกเขาเห็นซึ่งกันและกัน ณ จุดใดเวลาหนึ่งการต่อสู้ของหนูจะแตกออกและคุณทั้งคู่จะอยู่ต่อหน้าคณะกรรมการจริยธรรม ตอนนี้คุณรู้ตัวว่าโปรแกรมของคุณควรสร้างเขาวงกตแบบนี้ (เอาท์พุท 2):
#b#####a######################################################
# ##### ######################################################
# ##### ######################################################
# ##### ####################################### ####
# ##### ####################################### ######### ####
# ##### ####### ####
# ############################################# # ####### ####
# ############################################# # ####### ####
# ############################################# # ####### ####
# ############################################# # ####### ####
# # ####### ####
################################################# ####### ####
################################################# ####### ####
################################################# ####### ####
################################################# ####### ####
################################################# ####### ####
################################################# ####### ####
################################################# ####### ####
################################################# ####### ####
################################################# ####### B
################################################# ############
#################################################A############
เมื่อถึงเวลาที่หนูบีถึงสี่แยกหนูจะต้องเดินทางไปตามทางเดินเพื่อออกจาก A และจะหลีกเลี่ยงการต่อสู้ของหนู
กฎ:
โปรแกรมของคุณควรอ่าน (STDIN หรือไฟล์) อินพุตเหมือนที่กล่าวมาข้างต้นและเอาต์พุต (STDOUT หรือไฟล์) เป็นข้อมูลเดียวกันยกเว้นว่าช่องว่างจำนวนมากจะถูกแฮช (#) คุณสามารถแทนที่อักขระเดี่ยวใด ๆ (เช่น
;
) แทน\n
ในสตริงอินพุต แต่สตริงเอาต์พุตยังคงต้องการ\n
อักขระ ปรับปรุงทางเดินของหนูต้องกว้างหนึ่งตัวกว้างยกเว้นจุดตัดขวาง (ทุกช่องว่างต้องมี
#
อักขระศูนย์หรือสองตัวติดกัน orthogonally ) หนูแต่ละคนจะต้องมีเส้นทางเดียวที่ชัดเจนยกเว้นสำหรับทางแยก ไม่อนุญาตให้ใช้ทางแยก Tหนูจะถูกปล่อยพร้อมกันและเคลื่อนที่ด้วยอัตราคงที่ ในเวลาไม่ควรหนูสองตัวหรือมากกว่านั้นจะเห็นซึ่งกันและกัน (อยู่ในคอลัมน์หรือแถวเดียวกันโดยไม่ต้องมี
#
ตัวละครมากกว่าหนึ่งตัว)หากไม่สามารถแก้ปัญหาได้ (เช่นจุดทางเข้าที่อยู่ติดกัน) ให้พิมพ์
Impossible\n
และออกทางเข้าและทางออกสามารถอยู่ด้านใดก็ได้ แต่จะไม่มีมุม
หากมีการจับคู่ทางเข้าและทางออกอยู่ติด (เช่น
##aA##
) หนูไม่สามารถไปได้โดยตรงจากการa
A
จะต้องมีพื้นที่ทางเดินเล็ก ๆ 2 ส่วนภายในบริเวณเขาวงกตเมื่อถึงจุดที่หนูไปถึงจุดออก (หรือหลังจากนั้น) หนูจะไม่สามารถมองเห็นหนูตัวอื่นได้อีกต่อไป
โปรแกรมของคุณอาจได้รับการออกแบบมาเพื่อคำนวณเขาวงกตเป็นเวลา 1, 2, มากถึง 26 หนู
ช่องโหว่มาตรฐานไม่ได้รับอนุญาต
คะแนน:
ด้วยโซลูชันของคุณให้ระบุจำนวนหนูต่อเขาวงกต (N) ที่โปรแกรมของคุณสามารถแก้ไขได้ คะแนนของคุณคือความยาวรหัสของคุณเป็นไบต์หารด้วยหมายเลขนี้ N
โปรดรวมเอาท์พุทตัวอย่างในคำตอบของคุณเพื่อให้เราสามารถเห็นสิ่งที่โปรแกรมของคุณผลิต