รับสแควร์สตริงผลิตผลลัพธ์ทั้งหมดสำหรับสายอักขระในทุกขั้นตอนของการคลาย
สตริงจะต้องคลี่ออกไปในทิศทางตามเข็มนาฬิกาหนึ่งครั้งในสี่รอบในแต่ละครั้ง
ตัวอย่าง
อินพุต :
A
ผลผลิต :
A
หมายเหตุ : ฉันจะยอมรับอินพุตที่ทำซ้ำสำหรับกรณีทดสอบนี้เฉพาะเมื่อสิ่งนี้ช่วยลดจำนวนไบต์ของคุณ
อินพุต :
DC
AB
ผลผลิต :
DC
AB
D
ABC
ABCD
อินพุต :
GFE
HID
ABC
ผลผลิต :
GFE
HID
ABC
HG
IF
ABCDE
IH
ABCDEFG
I
ABCDEFGH
ABCDEFGHI
อินพุต :
JIHG
KPOF
LMNE
ABCD
ผลผลิต :
JIHG
KPOF
LMNE
ABCD
LKJ
MPI
NOH
ABCDEFG
NML
OPK
ABCDEFGHIJ
ON
PM
ABCDEFGHIJKL
PO
ABCDEFGHIJKLMN
P
ABCDEFGHIJKLMNO
ABCDEFGHIJKLMNOP
กฎระเบียบ
นี่คือโค้ดกอล์ฟเพื่อให้โค้ดที่สั้นที่สุดเป็นไบต์ชนะ
- รูปแบบที่เหมาะสมใด ๆ สามารถใช้สำหรับ I / O สมมติว่ามันสอดคล้องกัน
- ต้องใช้ช่องว่างในการวางบรรทัดบนสุดของเอาต์พุต
- ต้องสามารถจัดการอินพุตของอักขระที่พิมพ์ได้ทั้งหมด (รวมถึงช่องว่าง:
\x20
-\x7e
):
!.? "# $% & '() * +, - / 0123456789:; @ ABCDEFGHIJKLMNOPQRSTUVWXYZ [\] ^ _` ABCDEFGHIJKLMNOPQRSTUVWXYZ {|} ~
- อนุญาตช่องว่างนำหน้า / ต่อท้าย
- คุณสามารถสันนิษฐานได้ว่าสตริงนั้นจะเป็นรูปสี่เหลี่ยมจัตุรัสเสมอ
- ช่องโหว่มาตรฐานทั้งหมดถูกห้าม
แรงบันดาลใจ: เขียนโปรแกรมตารางที่ผลจำนวนครั้งที่จะได้รับ“คลี่”
["A","A"]
สำหรับ"A"
เช่นโปรแกรมของฉันไม่ (แทน["A"]
)? ดูเหมือนว่าสมเหตุสมผลสำหรับฉันเนื่องจากเป็นเพียงตำแหน่งเริ่มต้นและตำแหน่งสิ้นสุดและคุณพยายามแยกออกครั้งเดียวเท่านั้น