Враховуючи лабіринт на stdin та точку входу, напишіть програму, яка друкує шлях до виходу на stdout. Будь-який шлях прийнятний до тих пір, поки ваша програма не генерує тривіальний шлях (проходить через кожну точку лабіринту) для кожного лабіринту.
На вході стіни позначаються a, #
а точка входу - a @
. Ви можете використовувати будь-які символи, щоб намалювати лабіринт і шлях у висновку, якщо вони всі виразні.
Ви можете припустити, що:
- Точки входу та виходу знаходяться на краях входу
- Кожен рядок вводу має однакову довжину
- Лабіринт розв’язний і не має циклів
- Є лише одна точка виходу
Найкоротше рішення (Unicode) кількість перемог.
Приклади
(зауважте, що входи прокладені пробілами)
####
# #
@ #####
# #
#
#######
####
# #
@*#####
#* #
#******
#######
### ###################
### # #
## ######### # #
# ##### #
############### #@##
###*###################
###*********#*********#
## *#########* # *#
# *********** #####**#
############### #@##