Une forme est chirale si aucune rotation ne peut lui donner l’image miroir. Dans ce puzzle, nous allons écrire des programmes informatiques chiraux.
Pour ce casse-tête, nous allons considérer un programme comme une matrice rectangulaire de caractères. En tant que telles, toutes les solutions à ce défi doivent être rectangulaires (c’est-à-dire que toutes les lignes doivent être de la même longueur). Nous pouvons effectuer une rotation de ces programmes par incréments d'un quart de tour. Par exemple le programme
The quickish fish
lept deftly
rightwards
Lorsque tourné d'un quart de tour dans le sens des aiguilles d'une montre ressemble à
T
h
r e
i
glq
heu
tpi
wtc
a k
rdi
des
sfh
t
lf
yi
s
h
Nous pouvons également refléter ces programmes. Voici le même programme reflété sur un axe vertical:
hsif hsikciuq ehT
yltfed tpel
sdrawthgir
Un programme chiral est un programme qui, lorsqu'il est pivoté, génère toujours " left
". Cependant, lorsque reflété, produit un programme qui génère " right
" peu importe le nombre de rotations.
Votre tâche est d’écrire un programme chiral avec le moins d’octets possible.
Règles supplémentaires
La sortie n'est pas sensible à la casse mais doit être cohérente. (Par exemple, vous pouvez éditer "
LEFT
" et "rIgHt
" mais ce boîtier doit être cohérent sous les rotations)Les lignes doivent être divisées sur une nouvelle ligne ou une nouvelle ligne et un saut de ligne.
Votre programme doit être un rectangle, vous pouvez le remplir avec des espaces ou des commentaires mais chaque ligne doit avoir la même longueur.
Vous pouvez éventuellement avoir une nouvelle ligne de fin (ou une nouvelle ligne et un saut de ligne) sur tous vos programmes si vous le souhaitez.
:set virtualedit=all
mode de Vim . La Bool
sortie initiale vérifie si l'entrée est égale à sa propre rotation, ce qui simplifie les choses. Le fait de supprimer {-
permet d’imprimer l’entrée réfléchie.