ฉันเป็นหุ่นยนต์ ฉันซื้อแป้นพิมพ์นี้เนื่องจากรูปแบบสี่เหลี่ยมที่เรียบง่าย:
~` !1 @2 #3 $4 %5 ^6 &7 *8 (9 )0 _- +=
tab Qq Ww Ee Rr Tt Yy Uu Ii Oo Pp {[ }] \|
Aa Ss Dd Ff Gg Hh Jj Kk Ll :; "' [-enter-]
Zz Xx Cc Vv Bb Nn Mm <, >. ?/
[========= space =========]
ในการพิมพ์ข้อความของมนุษย์ฉันต้องแปลงมันเป็นคำสั่งที่ผู้ควบคุมการแปลของฉันสามารถตีความได้ หุ่นยนต์ซ้ายของฉันวนเวียนอยู่เหนือShiftกุญแจ หุ่นยนต์ที่ถูกต้องของฉันในตอนแรกวนเวียนอยู่เหนือ~กุญแจ คำสั่งที่ผู้ควบคุมงานของฉันเข้าใจคือ:
S : press the shift key
s : release the shift key
L : move the right manipulator left by 1
R : move the right manipulator right by 1
U : move the right manipulator up by 1
D : move the right manipulator down by 1
P : press the key under the right manipulator
p : release the key by the right manipulator
เขียนโค้ดเพื่อแปลงข้อความ ASCII ใด ๆ เป็นรายการคำสั่ง อินพุตสามารถมีอักขระ ASCII ที่พิมพ์ได้จำนวน 95 ตัว อาจเป็น TAB และอักขระขึ้นบรรทัดใหม่ เอาต์พุตควรเป็นรายการของคำสั่งไปยังผู้ควบคุม
ตัวอย่างเช่นในการพิมพ์Hello World!
คำสั่งคือ
SRRRRRRDDPp
sLLLUPp
RRRRRRDPp
Pp
UPp
LLLLDDDPp
SLLLUUUPp
sRRRRRRRPp
LLLLLPp
RRRRRDPp
LLLLLLPp
SLLUUPp
ฉันรีเซ็ตตัวควบคุมเป็นสถานะเริ่มต้นก่อนพิมพ์แต่ละข้อความ
มีอันตรายทางกลบางประการที่ควรหลีกเลี่ยงโดยการโปรแกรมที่เหมาะสม:
- ไม่
LRUD
อนุญาตให้มีการเคลื่อนไหว ( ) เมื่อทำการพิมพ์ (P
) - ไม่มีการติดขัดของ manipulators: เมื่อมีการใช้งานเครื่องมือจัดการ (
S
หรือP
) คำสั่งถัดไปสำหรับเครื่องมือนี้ควรปลด (s
หรือp
) และในทางกลับกัน ไม่มีการขยับที่ไม่จำเป็น: ระหว่างคำสั่งshift (
s
,S
) แต่ละคำสั่งควรมีP
คำสั่งดังนั้นในการพิมพ์
~~
คำสั่งSPpPp
นั้นใช้ได้ในขณะที่SPpsSPp
ไม่อยู่ไม่มีการย้ายออกจากขอบเขต: ไม่มีคำสั่งการเคลื่อนไหวควรพยายามย้ายหุ่นยนต์ที่ถูกต้องมากกว่า 13 ช่องว่างไปทางขวาหรือ 4 ไปที่ด้านล่างของตำแหน่งเริ่มต้น (หรือจุดใด ๆ ไปด้านบนหรือซ้าย)
หมายเหตุเพิ่มเติม:
- การกดคีย์ที่ปิดใช้งาน (ลำดับคำสั่งเช่น
DDPp
) จะทำให้ไม่มีการกดคีย์และอนุญาตให้ใช้ - กดShift+ Tabไม่มีผล แต่Shift+ SpaceและShift+ มีผลเช่นเดียวกันโดยไม่EnterShift
- กดบนจุดใดก็ได้บนแถบพื้นที่และEnterปุ่มจะมีผลเหมือนกัน
- คีย์ช่องว่างในเอาต์พุตไม่มีความหมาย แต่สามารถใช้เพื่อจัดรูปแบบในลักษณะที่สวยงาม
Pp
? เท่าที่ผมสามารถมองเห็นเหล่านั้นมักจะกระทำเพียงครั้งเดียวและไม่P
หรือp
สามารถปรากฏตัวของมันเอง