introduction
Une famille de phoques est échouée sur un iceberg dans le cercle arctique. Il y a un émetteur radio situé sur l'iceberg que les phoques peuvent utiliser pour appeler à l'aide. Cependant, seul le sceau de papa sait comment faire fonctionner l'émetteur radio. Et pire encore, la glace est très glissante à cette période de l'année, de sorte que les phoques glisseront de manière incontrôlable jusqu'à ce qu'ils heurtent un autre phoque ou glissent du bord de l'iceberg, ce qui rend très difficile pour le phoque papa d'atteindre l'émetteur radio. Heureusement, l'un des sceaux est un informaticien, alors elle décide d'écrire un programme pour comprendre comment manoeuvrer le sceau de papa vers l'émetteur radio. Comme il n'y a pas beaucoup d'espace sur la glace pour écrire un programme, elle décide de faire en sorte que le programme utilise le moins d'octets possible.
Description de l'entrée
Le programme du sceau accepte les entrées de STDIN, les arguments de ligne de commande ou les fonctions d'entrée utilisateur (comme raw_input()). Il ne peut pas être initialisé dans une variable (par exemple "Ce programme attend l'entrée dans une variable x").
La première ligne de l'entrée se compose de deux entiers séparés par des virgules sous la forme
A,B
Ce qui suit est des Blignes composées deA caractères chacune. Chaque ligne ne peut contenir que des caractères parmi les suivants:
.: Le froid, le froid, l'océan. La carte aura toujours ceci comme frontière.#: Une partie de l'iceberg.a...z: Un phoque qui n'est pas le phoque papa de l'iceberg.D: Le phoque papa sur l'iceberg.*: L'émetteur radio.
(Notez que le sceau de papa est toujours noté avec une majuscule D. Un minusculed est tout simplement un sceau ordinaire.)
Description de la sortie
Selon les règles suivantes concernant la façon dont les scellés peuvent se déplacer, affichez une liste d'instructions pour les scellés sur la façon dont ils doivent se déplacer pour amener le scellé papa à l'émetteur radio.
- Règle: tous les sceaux peuvent se déplacer vers le haut (
U), le bas (D), la gauche (L) et la droite (R). Ils ne peuvent pas glisser en diagonale. - Règle: En se déplaçant, un phoque continuera de se déplacer dans la même direction jusqu'à ce qu'il entre en collision avec un autre phoque ou tombe dans la mer.
- Si un joint entre en collision avec un autre joint, il cessera de bouger. Le sceau avec lequel il est entré en collision ne bougera pas .
- Si un phoque tombe dans la mer, il se noiera et disparaîtra de la carte. Autrement dit, il n'agit pas comme un collisionneur pour d'autres phoques et il ne peut plus être déplacé.
- Règle: Deux sceaux ne peuvent pas bouger en même temps, pas plus qu'un sceau ne peut être déplacé pendant qu'un autre est toujours en mouvement. Le sceau suivant ne peut être déplacé que lorsque le sceau précédent a cessé de bouger.
- Règle: Il n'y a aucune restriction concernant le déplacement d'un phoque plusieurs fois ou le nombre de phoques qui se noient.
- Règle: Une solution correcte aura l' extrémité du joint papa à l'émetteur radio. Le sceau de papa ne peut pas simplement passer l'émetteur en glissant.
La sortie sera composée de plusieurs lignes, chacune sous la forme
A,B
Où Aest le sceau de se déplacer ( Dpour le sceau papa, a... zpour les autres), et Best la direction pour déplacer le joint (soit U, D, Lou R). Notez que vous n'avez pas besoin de trouver l'itinéraire le plus court. Tout itinéraire qui obtient le sceau de papa vers l'objectif est une sortie acceptable.
Exemples d'entrées et de sorties
Contribution:
25,5
.........................
.#######################.
.####D#############*k###.
.#######################.
.........................
Production:
D,R
Contribution:
9,7
.........
.a#####b.
.#####d#.
.##l*###.
.###m#p#.
.#D#.#c#.
.........
Sortie (une sortie possible sur plusieurs):
m,R
b,L
D,U
D,R
D,D
D,L
Contribution:
26,5
..........................
.###..................###.
.l*##########v#########D#.
.###..................###.
..........................
Sortie (une sortie possible sur plusieurs):
v,D
D,L
Si vous avez d'autres questions, veuillez les poser dans les commentaires.