คุณจะได้รับสตริงที่ประกอบด้วย 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 aaaa aaaa aaaa aaaaaaaa
อินพุต:
Code golf
, เอาต์พุต (สังเกตช่องว่าง):Code golf flog edoC ode golfC Cflog edo de golfCo oCflog ed e golfCod doCflog e golfCode edoCflog golfCode edoCflog olfCode g g edoCflo lfCode go og edoCfl fCode gollog edoCf
dab
ค. -------