Соревнование
Самый короткий код по количеству символов, чтобы помочь роботу найти котенка за наименьшее количество шагов.
Гольфисты, это время кризиса - Котенок пропал без вести, и работа Робота - найти его! Робот должен добраться до котенка по кратчайшему пути. Однако на пути Робота много препятствий, и ему нужно, чтобы вы запрограммировали решение для него.
Раньше у робота была программа, делающая это за него, но эта программа была потеряна, и у робота нет резервной копии :(.
Время выполнения робота не самое лучшее, и наименьшее количество символов, которое робот должен прочитать из исходного кода, меньше времени, которое он потратит на обработку, а это значит, что котенок будет найден быстрее!
Память робота содержит карту местоположения, в котором он находится в данный момент: верхняя часть представляет север, нижняя - юг, правая - восток, а левая - запад. Робот всегда находится в прямоугольной комнате неизвестного размера, окруженной стенами, представленной на #
его радиолокационной карте. Области, в которые может ходить робот, представлены пространством .
Радар робота также сканирует множество препятствий в комнате и отмечает их различными буквами ASCII. Робот не может преодолеть эти препятствия. Радар пометит Киттена как специальный символ ASCII K
, в то время как местоположение робота будет отмечено с помощью R
.
Навигационная система робота работает следующим образом: он может понять пару направлений и количество единиц движения, к которым он должен идти - например, N 3
означает «перейти на север 3 единицы движения». Карта радара робота сделана так, что единицей движения является один символ ASCII. Робот может двигаться только в 4 направлениях и не может двигаться по диагонали.
Ваша задача, храбрый котенок-спасатель, - прочитать радиолокационную карту робота один раз и вывести наименьшее количество направлений с наименьшим расстоянием перемещения юнита. Робот гарантированно имеет хотя бы один путь к котенку.
Чтобы робот не тратил время на выполнение работающей со сбоями программы, которая не поможет роботу найти котенка, я призываю вас, отважный хранитель котят, использовать этот вывод из прошлой программы робота, чтобы не тратить время на поиск котенка!
Контрольные примеры
Input:
######################
# d 3 Kj #
# #
# R #
# q #
######################
Output:
E 13
N 2
Input:
######################
# d r 3 Kj #
# p p #
# T X #
# q s t #
# #
# R o d W #
# #
# g t U #
# #
######################
Output:
N 1
E 10
N 4
E 2
Input:
######################
# spdfmsdlwe9mw WEK3#
# we hi #
# rdf fsszr#
# sdfg gjkti #
# fc d g i #
# dfg sdd #
# g zfg #
# df df #
# xcf R#
######################
Output:
N 1
W 9
N 5
E 4
N 1
E 4
N 1
Количество кодов включает в себя ввод / вывод (т.е. полную программу).