Défi
En me promenant dans Marks and Spencers, j'ai remarqué qu'il y avait des climatiseurs placés au hasard dans le magasin. Voulant rester au frais, je me suis demandé quelle était la façon la plus simple de se déplacer dans tout le magasin sans être trop longtemps éloigné d'un climatiseur.
Étant donné une carte, vous devez trouver un moyen de parcourir toute la carte en gardant la distance d'une unité de climatisation aussi courte que possible (même si l'unité de climatisation est de l'autre côté d'un mur).
Carte
La carte peut être fournie comme vous le souhaitez et utilise les symboles suivants:
+ is a corner of a wall
| is a east/west facing wall
- is a north/south facing wall
X is an air conditioning unit
S is the start and end point
Un exemple de carte serait:
+------S---+
| X |
| ---+-+ X |
| |X| |
| ---+ +---+
| X |
+----------+
ou
+---+--+
| X | |
| | +-----+------+
| | X | X |
| ---+ | S
| | | X | |
| | +-+-------+--+
| X |
+------+
Voyager sur toute la carte signifie traverser chaque espace vide et climatiseur. Vous ne pouvez pas traverser un mur et ne pouvez voyager que orthogonalement. Une carte n'est pas toujours rectangulaire.
Garder la distance aussi courte que possible d'une unité AC est la somme de tous les pas de temps.
Passer, c'est entrer et sortir.
Vous pouvez sortir le chemin comme vous le souhaitez. Les exemples comprennent:
- Sortie de la carte avec le chemin inclus
- Sortie du chemin comme une succession de points cardinaux (par exemple
NNSESW
)
la source
Réponses:
PowerShell pour Windows,
376367 octetsComme un homme paresseux, je ne vais pas à toutes les étagères, je passe du climatiseur au climatiseur dans un magasin. Je crois que j'ai voyagé partout dans le magasin pour visiter chaque climatiseur.
Essayez-le en ligne!
Déroulé:
la source