รูปร่างเป็นchiralถ้าไม่มีจำนวนการหมุนสามารถทำให้ดูเหมือนภาพสะท้อนของกระจก ในปริศนานี้เราจะเขียนโปรแกรมคอมพิวเตอร์ chiral
สำหรับปริศนานี้เราจะคิดว่าโปรแกรมเป็นเมทริกซ์สี่เหลี่ยมของตัวละคร ดังนั้นโซลูชันทั้งหมดสำหรับความท้าทายนี้ต้องเป็นรูปสี่เหลี่ยมผืนผ้า (นั่นคือทุกบรรทัดต้องมีความยาวเท่ากัน) เราสามารถหมุนโปรแกรมเหล่านี้ได้ทีละไตรมาส ตัวอย่างเช่นโปรแกรม
The quickish fish
lept deftly
rightwards
เมื่อหมุนหนึ่งในสี่ทิศตามเข็มนาฬิกาจะดูเหมือน
T
h
r e
i
glq
heu
tpi
wtc
a k
rdi
des
sfh
t
lf
yi
s
h
เรายังสามารถสะท้อนโปรแกรมเหล่านี้ นี่คือโปรแกรมเดียวกันที่สะท้อนเหนือแกนตั้ง:
hsif hsikciuq ehT
yltfed tpel
sdrawthgir
โปรแกรม chiral เป็นโปรแกรมที่เมื่อหมุนไปกี่ครั้งก็จะออก " left
" อย่างไรก็ตามเมื่อการสะท้อนสร้างโปรแกรมที่ส่งออก "right
" ไม่ว่าจะหมุนกี่ครั้งก็ตาม
งานของคุณคือการเขียนโปรแกรม chiral เป็นไบต์น้อยที่สุด
กฎเพิ่มเติม
เอาต์พุตไม่ได้เป็นแบบตรงตามตัวพิมพ์ใหญ่ - เล็ก แต่ควรสอดคล้องกัน (เช่นคุณอาจส่งออก "
LEFT
" และ "rIgHt
" แต่กล่องนี้จะต้องสอดคล้องกันภายใต้การหมุน)เส้นจะถูกแยกในบรรทัดใหม่หรือขึ้นบรรทัดใหม่และตัวดึงข้อมูลบรรทัด
โปรแกรมของคุณต้องเป็นรูปสี่เหลี่ยมผืนผ้าคุณสามารถวางลงในช่องว่างหรือความคิดเห็นได้ แต่แต่ละบรรทัดจะต้องมีความยาวเท่ากัน
คุณอาจเลือกที่จะขึ้นบรรทัดใหม่ (หรือขึ้นบรรทัดใหม่และขึ้นบรรทัดใหม่) ในโปรแกรมทั้งหมดของคุณหากคุณต้องการ
:set virtualedit=all
โหมดของ Vim Bool
เอาต์พุตเริ่มต้นจะตรวจสอบว่าอินพุตเท่ากับการหมุนของตัวเองหรือไม่ซึ่งจะทำให้สิ่งต่าง ๆ ง่ายขึ้น การลบ{-
ทำให้มันพิมพ์อินพุตที่สะท้อนออกมา