Eine Form ist chiral, wenn keine Drehung sie spiegelbildlich erscheinen lässt. In diesem Puzzle werden wir chirale Computerprogramme schreiben.
Für dieses Puzzle stellen wir uns ein Programm als rechteckige Zeichenmatrix vor. Als solche müssen alle Lösungen für diese Herausforderung rechteckig sein (dh alle Linien müssen die gleiche Länge haben). Wir können diese Programme in Vierteldrehungsschritten drehen. Zum Beispiel das Programm
The quickish fish
lept deftly
rightwards
Eine Vierteldrehung im Uhrzeigersinn sieht so aus
T
h
r e
i
glq
heu
tpi
wtc
a k
rdi
des
sfh
t
lf
yi
s
h
Wir können diese Programme auch reflektieren. Hier ist dasselbe Programm, das sich über eine vertikale Achse spiegelt:
hsif hsikciuq ehT
yltfed tpel
sdrawthgir
Ein chirales Programm ist ein Programm, das bei beliebiger Drehung immer " left
" ausgibt . Bei " right
" Reflexion wird jedoch ein Programm erstellt, das unabhängig davon, wie oft es gedreht wird , " " ausgegeben wird.
Ihre Aufgabe ist es, ein chirales Programm in möglichst wenigen Bytes zu schreiben.
Zusätzliche Regeln
Die Ausgabe unterscheidet nicht zwischen Groß- und Kleinschreibung, sollte jedoch konsistent sein. (zB Sie können "
LEFT
" und "rIgHt
" ausgeben, aber dieses Gehäuse muss unter Rotationen konsistent sein)Zeilen sind entweder auf eine neue Zeile oder eine neue Zeile und einen Zeilenvorschub aufzuteilen.
Ihr Programm muss ein Rechteck sein. Sie können es mit Leerzeichen oder Kommentaren auffüllen, aber jede Zeile muss dieselbe Länge haben.
Optional können Sie für alle Ihre Programme einen nachgestellten Zeilenumbruch (oder Zeilenumbruch und Zeilenvorschub) festlegen.
:set virtualedit=all
Modus von Vim verwendet . Die anfängliche Bool
Ausgabe prüft, ob die Eingabe der eigenen Drehung entspricht, was die Sache vereinfacht. Durch Entfernen von {-
wird die reflektierte Eingabe gedruckt.