3
นำเต่าของคุณโดยสาย
เขียนโปรแกรมหรือฟังก์ชั่นที่รับสายอักขระบรรทัดเดียวแบบไม่มีอักขระที่พิมพ์ได้ซึ่งไม่รวมช่องว่าง: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ คุณอาจสันนิษฐานว่าอินพุตนั้นถูกต้อง ขึ้นอยู่กับอินพุตวาดสตริงใหม่ที่จัดเรียงบนตารางต้นฉบับของช่องว่างและบรรทัดใหม่ตามกราฟิกเต่า - กฎที่เต่าที่เต่ามักจะใช้พื้นที่ตารางเดียวและสามารถหันหน้าไปทางทิศทางที่สำคัญเท่านั้น พิมพ์อักขระตัวแรกในสตริงอินพุตไปยังกริดข้อความ เต่าเริ่มหันมาทางขวา วนซ้ำตัวอักษรที่เหลือในสตริงอินพุต (หยุดเฉพาะเมื่อเต่าติดอยู่) โดยทำซ้ำขั้นตอนนี้: หากช่องว่างทั้ง 4 ช่องที่อยู่ติดกับเต่านั้นเต็มไปหมด (เช่นไม่มีช่องว่างใด ๆ ) ให้หยุดการทำซ้ำ เต่าติดอยู่และกริดนั้นเสร็จสมบูรณ์เท่าที่จะเป็นไปได้ ดูอักขระปัจจุบันในอินพุตเปรียบเทียบกับอักขระก่อนหน้า: หากตัวละครในปัจจุบันเป็นศัพท์ก่อนหน้าก่อนหน้าหมุนเต่าหนึ่งในสี่เลี้ยวซ้าย หากตัวละครปัจจุบันเป็นคำศัพท์หลังจากก่อนหน้าหมุนเต่าหนึ่งในสี่เลี้ยวขวา หากตัวละครปัจจุบันเท่ากับก่อนหน้าอย่าหมุนเต่า หากพื้นที่กริดที่เต่ากำลังเผชิญอยู่นั้นไม่ว่างเปล่า (เช่นไม่ใช่ที่ว่าง) ให้หมุนเต่าหนึ่งครั้งในไตรมาสที่เหลือจนกระทั่งเธอหันหน้าเข้าหาพื้นที่กริดที่ว่างเปล่า ย้ายเต่าหนึ่งย่างก้าวไปข้างหน้าในทิศทางที่เธอหันหน้าไปและพิมพ์อักขระปัจจุบันบนกริดในตำแหน่งใหม่ของเต่า พิมพ์หรือส่งคืนสตริงกริดข้อความที่เป็นผลลัพธ์โดยไม่มีแถวหรือคอลัมน์ที่ไม่เกี่ยวข้องของช่องว่าง บรรทัดอาจมีช่องว่างต่อท้ายจนถึงคอลัมน์ขวาสุดโดยไม่มีช่องว่าง แต่ไม่เกิน ขึ้นบรรทัดใหม่แบบลากเดียวก็ได้ รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ ตัวอย่าง spattuuxzeนี่คือขั้นตอนทั้งหมดของท่าน ^V<>ตัวอักษรแสดงทิศทางที่เต่าจะหันพวกเขาจะไม่ได้เป็นส่วนหนึ่งของการป้อนข้อมูลหรือการส่งออก s> ^ p s <ap s ^ t ap s ^ t t ap s …