Kształt jest chiralny, jeśli żaden obrót nie może sprawić, że będzie wyglądał jak odbicie lustrzane. W tej układance będziemy pisać chiralne programy komputerowe.
W przypadku tej układanki pomyślimy o programie jako prostokątnej matrycy znaków. W związku z tym wszystkie rozwiązania tego wyzwania muszą być prostokątne (tzn. Wszystkie linie muszą być tej samej długości). Możemy obracać te programy w krokach co ćwierć obrotu. Na przykład program
The quickish fish
lept deftly
rightwards
Po obróceniu o ćwierć obrotu w prawo wygląda
T
h
r e
i
glq
heu
tpi
wtc
a k
rdi
des
sfh
t
lf
yi
s
h
Możemy również odzwierciedlić te programy. Oto ten sam program odbity na osi pionowej:
hsif hsikciuq ehT
yltfed tpel
sdrawthgir
Program chiralny to program, który po obróceniu dowolną liczbę razy zawsze wyświetla „ left
”. Jednak po odbiciu tworzy program, który wyprowadza „ right
” bez względu na to, ile razy jest obracany.
Twoim zadaniem jest napisanie programu chiralnego w jak najmniejszej liczbie bajtów.
Dodatkowe zasady
Dane wyjściowe nie rozróżniają wielkości liter, ale powinny być spójne. (np. możesz wyprowadzać znaki „
LEFT
” i „rIgHt
”, ale ta obudowa musi być spójna podczas rotacji)Linie mają być dzielone na nowej linii lub nowej linii i na linii.
Twój program musi być prostokątem, możesz uzupełnić go spacjami lub komentarzami, ale każda linia musi mieć tę samą długość.
Opcjonalnie możesz mieć końcowy znak nowej linii (lub znak nowej linii i podawanie linii) we wszystkich swoich programach, jeśli chcesz.
:set virtualedit=all
trybem blokowania Vima . Wyjściowe Bool
wyjście sprawdza, czy wejście jest równe jego własnemu obrotowi, co upraszcza rzeczy. Usunięcie {-
powoduje wydrukowanie odbijanego wejścia.