16
สร้างบันไดปราสาทให้ฉัน!
คุณจะได้รับสตริงที่ประกอบด้วย ASCII ที่พิมพ์ได้ (โดยไม่ต้องขึ้นบรรทัดใหม่) งานของคุณคือสร้างบันไดที่ดีสำหรับปราสาทของฉัน วิธีการสร้างบันไดที่ดี? ก่อนอื่นคุณควรจะได้การหมุนทั้งหมดของ String ตัวอย่างเช่นสตริงabcdมีการหมุนต่อไปนี้: abcd, bcda, cdab, dabc(อักขระแต่ละตัวจะถูกย้ายไปยังจุดสิ้นสุดจนกว่าเราจะไปถึงอักขระสุดท้าย) ตอนนี้เราวางแต่ละการหมุนไว้ด้านบนของกันและกัน: abcd bcda cdab dabc เราปีนขึ้นไปบนกำแพงตรงไม่ได้ดังนั้นเราต้องสร้างบันได นั่นหมายความว่าคุณควรเพิ่มช่องว่างก่อนหมุนแต่ละครั้งที่สอดคล้องกับดัชนีในรายการการหมุน: abcd bcda cdab dabc คุณต้องมีบันไดที่เชื่อมโยงไปยังอีกด้านหนึ่งของปราสาทของฉันดังนั้นคุณควรสร้างสิ่งหนึ่งดังต่อไปนี้ย้อนกลับการหมุนแต่ละครั้งและเพิ่มระยะห่าง: abcd dcba bcda adcb cdab badc dabccbad นี่คือcode-golfดังนั้นจึงใช้รหัสสั้นที่สุดเป็นไบต์ชนะและใช้กฎมาตรฐานสำหรับแท็ก กรณีทดสอบ อินพุต: abcd, เอาต์พุต: abcd dcba bcda adcb cdab badc dabccbad อินพุต: aaaa, เอาต์พุต: aaaa aaaa aaaa …