您已被聘为研究助理,并被要求创建一个小程序来构建老鼠迷宫。老鼠盒始终为62x22,并具有老鼠的入口(a)和出口(A),如下所示(输入1):
#######a######################################################
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
#################################################A############
您的程序必须在方框中填充块(#),为老鼠留下路径,如下所示(输出1):
#######a######################################################
####### ######################################################
####### ######################################################
####### ######################################################
####### ######################################################
####### ############
################################################# ############
################################################# ############
################################################# ############
################################################# ############
################################################# ############
################################################# ############
################################################# ############
################################################# ############
################################################# ############
################################################# ############
################################################# ############
################################################# ############
################################################# ############
################################################# ############
################################################# ############
#################################################A############
您认为这很容易!您开始写一个充满信心的小程序。但是,原理科学家有了一个新主意-他希望两只老鼠同时导航迷宫。Rattanshnorter博士解释说,它们有不同的门和不同的出口(输入2):
#b#####a######################################################
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# B
# #
#################################################A############
对大鼠进行了训练,使其可以直穿过交叉路口,但T型交叉路口使它们毫无希望地感到困惑,从而使实验无效。当好医生解释一个最终要求时,您就开始了新的更复杂的任务:老鼠彼此野蛮,因此,如果它们在任何时候都可以看到对方,那么老鼠之争就会爆发,你们俩都将进入道德委员会。现在,您意识到程序应该输出如下所示的迷宫(输出2):
#b#####a######################################################
# ##### ######################################################
# ##### ######################################################
# ##### ####################################### ####
# ##### ####################################### ######### ####
# ##### ####### ####
# ############################################# # ####### ####
# ############################################# # ####### ####
# ############################################# # ####### ####
# ############################################# # ####### ####
# # ####### ####
################################################# ####### ####
################################################# ####### ####
################################################# ####### ####
################################################# ####### ####
################################################# ####### ####
################################################# ####### ####
################################################# ####### ####
################################################# ####### ####
################################################# ####### B
################################################# ############
#################################################A############
到老鼠B到达交叉路口时,老鼠A会沿着走廊走到出口A,从而避免了老鼠打架。
规则:
您的程序应该读入(STDIN或文件)类似上述的输入,并输出(STDOUT或文件)相同的数据,但现在很多空格将变成哈希(#)。您可以用任何单个字符(例如
;
)代替\n
输入字符串,但输出字符串仍需要\n
字符。更新除交叉点外,大鼠路径的宽度必须为一个字符宽度(每个空间必须具有零个或两个正交相邻的
#
字符)。除交叉路口外,每只大鼠都必须有一条清晰的单一路径。禁止T型交叉路口。同时释放大鼠并以恒定的速度移动。任何时候都不应有两只或更多只老鼠见到对方(在同一列或同一行
#
中,中间没有其他字符之一)。如果无法解决(例如相邻的入口点),请打印
Impossible\n
并退出。入口和出口可以在任何一侧,但是永远不会在拐角处。
如果匹配的入口和出口相邻(例如:)
##aA##
,则鼠不能直接从a
转到A
。迷宫区域内必须有一个小的2空间走廊部分。在老鼠到达其出口点(或之后的任何时间)的转弯处,其他老鼠不再可见。
您的程序可能旨在计算1、2,最多26只老鼠的迷宫。
不允许出现标准漏洞。
得分了:
使用您的解决方案,指定您的程序可以解决的每个迷宫(N)有多少只老鼠。您的分数是您的代码长度(以字节为单位)除以该数字N。
请在您的答案中包含示例输出,以便我们查看您的程序产生了什么。