给定stdin上的迷宫和入口点,编写一个程序,在stdout上打印到出口的路径。只要您的程序不会为每个迷宫生成平凡的路径(穿过迷宫中的每个点),任何路径都是可以接受的。
在输入中,墙壁用a标记,#
入口点用a 标记@
。您可以使用任何字符在输出中绘制迷宫和路径,只要它们完全不同即可。
您可以假设:
- 入口和出口点在输入的边缘
- 输入的每一行都具有相同的长度
- 迷宫可解且无循环
- 只有一个出口
最短的(Unicode)字符计数解决方案获胜。
例子
(请注意,输入用空格填充)
####
# #
@ #####
# #
#
#######
####
# #
@*#####
#* #
#******
#######
### ###################
### # #
## ######### # #
# ##### #
############### #@##
###*###################
###*********#*********#
## *#########* # *#
# *********** #####**#
############### #@##
我也可以为端点添加字符吗?这将使我的程序更容易知道何时结束。
—
彼得·奥尔森
@彼得的玉米:当然。您不必使用相同的字符来绘制整个路径,而只需将其与输出的其余部分区分开即可。
—
Lowjacker 2011年