Wyzwanie
Najkrótszy kod według liczby znaków, aby pomóc robotowi znaleźć kociaka w jak najmniejszej liczbie kroków.
Golfiści, to czas kryzysu - Kociak zaginął i robot musi go znaleźć! Robot musi dotrzeć do Kociaka możliwie najkrótszą drogą. Jednak na drodze robota jest wiele przeszkód, a on potrzebuje ciebie, abyś zaprogramował dla niego rozwiązanie.
Robot miał dla niego program, ale ten program został utracony, a Robot nie ma kopii zapasowej :(.
Środowisko uruchomieniowe robota nie jest najlepsze, a najmniej znaków Robot musi odczytać z kodu źródłowego, najmniej czasu poświęci na przetwarzanie, a to oznacza, że Kitten zostanie znaleziony szybciej!
Pamięć robota zawiera mapę lokalizacji, w której się znajduje, z górą reprezentującą północ, dolną reprezentującą południe, prawą reprezentacją wschodu i lewą reprezentacją zachodu. Robot zawsze znajduje się w prostokątnym pokoju o nieznanym rozmiarze, otoczonym ścianami, reprezentowanym przez #
na jego mapie radarowej. Obszary, do których robot może wchodzić, są reprezentowane przez spację .
Radar robota skanuje również wiele przeszkód w pokoju i zaznacza je różnymi literami ASCII. Robot nie może przejść przez te przeszkody. Radar oznaczy Kociaka jako specjalną postać ASCII K
, a lokalizacja Robota jest oznaczona R
.
System nawigacji robota działa w ten sposób: może zrozumieć duet kierunku i liczbę jednostek ruchu, do których powinien się udać - na przykład N 3
oznacza „idź na północ 3 jednostki ruchu”. Mapa radarowa robota jest wykonana w taki sposób, że jednostka ruchu to jedna postać ASCII. Robot może jechać tylko w 4 kierunkach i nie może poruszać się po przekątnej.
Twoim zadaniem, odważny Oszczędzaczu Kociaków, jest przeczytanie mapy radaru Robota raz i wygenerowanie najmniejszej liczby kierunków, przy najmniejszej odległości przemieszczania się jednostki ruchu. Robot ma co najmniej jedną ścieżkę do Kociaka.
Aby upewnić się, że Robot nie marnuje czasu na uruchamianie źle działającego programu, który nie pomoże Robotowi znaleźć Kociaka, zachęcam cię, dzielna wygaszaczu Kociaka, do korzystania z wyników poprzednich programów Robota, aby mieć pewność, że nie będziesz tracić czasu na znalezienie Kociaka!
Przypadki testowe
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
Liczba kodów obejmuje wejście / wyjście (tj. Pełny program).