La sfida
Il codice più breve per carattere conta per aiutare Robot a trovare il gattino nel minor numero possibile di passaggi.
Giocatori di golf, questo è un momento di crisi - Kitten è scomparso ed è compito di Robot trovarlo! Il robot deve raggiungere Kitten nel percorso più breve possibile. Tuttavia, ci sono molti ostacoli sulla strada di Robot, e ha bisogno che tu programmi una soluzione per lui.
Robot aveva un programma che lo faceva per lui, ma quel programma è stato perso e Robot non ha backup :(.
Il runtime di Robot non è il migliore, e il minor numero di caratteri che Robot deve leggere dal codice sorgente, il minor tempo che impiegherà per l'elaborazione, e questo significa che Kitten verrà trovato più velocemente!
La memoria di Robot contiene una mappa della posizione in cui si trova attualmente con la parte superiore che rappresenta il Nord, la parte inferiore che rappresenta il Sud, la destra che rappresenta l'Est e la sinistra che rappresenta l'Ovest. Il robot è sempre in una stanza rettangolare di dimensioni sconosciute, circondata da pareti, rappresentata dalla #
sua mappa radar. Le aree in cui il robot può entrare sono rappresentate da uno spazio .
Il radar di Robot cerca anche molti ostacoli nella stanza e li segna in varie lettere ASCII. Il robot non può attraversare quegli ostacoli. Il radar segnerà Kitten come il carattere speciale ASCII K
, mentre la posizione del robot è contrassegnata da R
.
Il sistema di navigazione del robot funziona in questo modo: è in grado di comprendere un duo di direzione e numero di unità di movimento verso cui deve viaggiare, ad esempio N 3
significa "andare a nord di 3 unità di movimento". La mappa radar del robot è realizzata in modo tale che un'unità di movimento abbia un carattere ASCII. Il robot può andare solo in 4 direzioni e non può viaggiare in diagonale.
Il tuo compito, coraggioso risparmiatore di gattini, è leggere una volta la mappa radar di Robot e produrre il minor numero di direzioni, con la minima distanza di spostamento dell'unità di movimento. Il robot ha almeno un percorso per Kitten.
Per garantire che Robot non perda tempo a eseguire un programma malfunzionante che non aiuterà Robot a trovare Kitten, ti incoraggio, coraggioso risparmiatore di Kitten, a utilizzare questo risultato del programma passato di Robot per garantire che non si sprechi tempo a trovare Kitten!
Casi test
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
Il conteggio del codice include input / output (ovvero programma completo).