เกมบอยเก่าหลายเกมมักจะต้องมีการป้อนสตริงจากผู้ใช้ อย่างไรก็ตามไม่มีแป้นพิมพ์ สิ่งนี้ได้รับการจัดการโดยการนำเสนอผู้ใช้ด้วย "หน้าจอคีย์บอร์ด" ดังนี้:
'การชี้ตัวอักษร' จะเริ่มที่ตัวอักษร A. ผู้ใช้จะต้องไปที่ตัวละครแต่ละตัวต้องการด้วยD-Pad 's สี่ปุ่ม ( UP
, DOWN
, LEFT
และRIGHT
) แล้วกดBUTTON A
ไปผนวกกับสตริงสุดท้าย
โปรดทราบ:
- กริดล้อมรอบดังนั้นการกด
UP
ในขณะที่อยู่บนตัวอักษร A จะนำคุณไปยัง T - 'ตัวชี้ตัวอักษร' จะยังคงอยู่หลังจากใส่ตัวอักษรต่อท้าย
ความท้าทาย
แป้นพิมพ์ด้านบนมีตัวเลือกในการเปลี่ยนเคสและเป็นรูปร่างที่ผิดปกติ ดังนั้นเพื่อความง่ายในความท้าทายนี้เราจะใช้แป้นพิมพ์ต่อไปนี้ (ด้านล่างขวาคือ ASCII ถ่าน 32 ช่องว่าง):
A B C D E F G
H I J K L M N
O P Q R S T U
V W X Y Z .
การพิมพ์บนแป้นพิมพ์แบบนี้ช้ามากดังนั้นเพื่อให้ง่ายขึ้นงานของคุณคือการเขียนโปรแกรมที่บอกผู้ใช้ถึงวิธีที่เร็วที่สุดในการพิมพ์สตริงที่กำหนด หากมีวิธีที่เร็วที่สุดหลายวิธีคุณจะต้องแสดงวิธีเดียวเท่านั้น
คีย์เอาต์พุตควรเป็น:
>
สำหรับRIGHT
<
สำหรับLEFT
^
สำหรับUP
v
สำหรับDOWN
.
สำหรับBUTTON A
(ต่อท้ายจดหมายปัจจุบันถึงสตริง)
ตัวอย่างเช่นเมื่อได้รับสตริงDENNIS
การแก้ปัญหาจะมีลักษณะเช่นนี้:
>>>.>.>>v..>>.>>>v.
กฎ / รายละเอียด
- โปรดจำไว้ว่ากริดล้อมรอบ!
- คุณสามารถส่งโปรแกรมหรือฟังก์ชั่นเต็มรูปแบบตราบใดที่มันใช้สตริงเริ่มต้นและสร้างสตริงโซลูชัน การขึ้นบรรทัดใหม่ของ whitespace / trailing ไม่เกี่ยวข้องตราบใดที่เอาต์พุตถูกต้อง
- คุณสามารถสมมติว่าการป้อนข้อมูลจะประกอบด้วยอักขระที่พิมพ์ได้บนแป้นพิมพ์ที่ระบุเท่านั้น
- นี่คือรหัสกอล์ฟดังนั้นรหัสที่สั้นที่สุดชนะ มีช่องโหว่ของรหัสมาตรฐานสำหรับกอล์ฟ
กรณีทดสอบ
โดยปกติจะมีวิธีแก้ปัญหาที่หลากหลายที่มีความยาวเท่ากัน สำหรับกรณีทดสอบแต่ละรายการฉันได้รวมความยาวที่เหมาะสมและตัวอย่างไว้ คุณไม่จำเป็นต้องพิมพ์ความยาวในคำตอบของคุณเพียงแค่ทางออก
FLP.TKC -> 25 steps: <<.<v.<<<v.<<<v.^.<<^.<^.
MOYLEX -> 23 steps: <<v.>>v.>>>v.>^^.^.<<^.
FEERSUM -> 18 steps: <<.<..<vv.>.>>.<^.
MEGO -> 14 steps: <<v.<^.>>.>vv.
A CAT -> 17 steps: .<^.>>>v.<<.<<vv.
BOB -> 10 steps: >.<vv.>^^.
(space) -> 3 steps: <^.
(empty) -> 0 steps: (empty)
คุณสามารถดูเครื่องกำเนิด testcase ของฉันใน repl.it - โปรดแจ้งฉันหากมีข้อบกพร่องใด ๆ
ขอบคุณทุกคนสำหรับการส่ง! ขณะนี้ผู้ใช้ ngn เป็นผู้ชนะที่มี 61 ไบต์ แต่ถ้าใครสามารถหาวิธีแก้ปัญหาที่สั้นกว่าก็สามารถย้ายเห็บสีเขียวเล็กน้อยได้)