Le défi
Le nombre de codes par caractères le plus court permet à Robot de trouver le chaton le plus rapidement possible.
Golfeurs, c'est une période de crise - Un chaton a disparu et c'est le travail de Robot de le trouver! Le robot doit atteindre Kitten le plus rapidement possible. Cependant, Robot rencontre de nombreux obstacles et il a besoin de votre part pour lui programmer une solution.
Robot avait l'habitude d'avoir un programme le faire pour lui, mais ce programme avait été perdu et Robot n'avait pas de sauvegarde :(.
L'exécution de Robot n'est pas la meilleure, et le moins de caractères que Robot puisse lire à partir du code source, le moins de temps possible à traiter, et cela signifie que Kitten sera retrouvé plus rapidement!
La mémoire de Robot contient une carte de l'emplacement dans lequel il se trouve, le haut représentant le nord, le bas représentant le sud, la droite représentant l'est et la gauche représentant l'ouest. Robot est toujours dans une pièce rectangulaire de taille inconnue entourée de murs, représentée par #
dans sa carte radar. Les zones où le robot peut entrer sont représentées par un espace .
Le radar de Robot recherche également de nombreux obstacles dans la pièce et les marque en diverses lettres ASCII. Le robot ne peut pas traverser ces obstacles. Le radar indiquera Kitten comme le caractère spécial ASCII K
, tandis que l'emplacement du robot est marqué par R
.
Le système de navigation de Robot fonctionne de la manière suivante: il peut comprendre un duo de directions et le nombre d'unités de mouvement vers lesquelles il doit voyager - par exemple, cela N 3
signifie «aller au nord de 3 unités de mouvement». La carte radar du robot est telle qu'une unité de mouvement est composée d'un caractère ASCII. Le robot ne peut aller que dans 4 directions et ne peut pas se déplacer en diagonale.
Votre tâche, courageux économiseur de Kitten, consiste à lire une fois la carte radar de Robot et à émettre le moins de directions possible, avec le moins de distance de déplacement par unité de mouvement. Robot est garanti d'avoir au moins un chemin d'accès à Kitten.
Pour vous assurer que Robot ne perd pas de temps à exécuter un programme qui ne fonctionne pas et qui ne l'aidera pas à trouver Kitten, je vous encourage, brave économiseur de Kitten, à utiliser cette sortie du programme précédent de Robot pour ne pas perdre de temps à trouver Kitten!
Cas de 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
Le nombre de codes comprend les entrées / sorties (programme complet).