การป้อนข้อมูล:
สตริง
เอาท์พุท:
1) อันดับแรกเราจะลบตัวอักษรที่ส่วนท้ายของอินพุต - สตริงจนกว่าเราจะเหลือความยาวที่เป็นรูปสี่เหลี่ยม (เช่น 1, 4, 9, 16, 25, 36, ฯลฯ )
ดังนั้นabcdefghijklmnopqrstuvwxyz
(ความยาว 26) จะกลายเป็นabcdefghijklmnopqrstuvwxy
( ความยาว 25)
2) จากนั้นเราใส่มันลงในช่องสี่เหลี่ยมทีละบรรทัดจากซ้ายไปขวา:
abcde
fghij
klmno
pqrst
uvwxy
3) เราพับมันในทั้งสี่ทิศทางเช่นนี้ (เรายังคงตีแผ่จนกระทั่ง 'บล็อก' ด้านนอกที่พับไว้ไม่มีตัวอักษรภายในที่จะคลี่ออกอีกต่อไป):
m
qrs
l n
ghi
abcde
ihgf jihg
mn lk on lm
srqp tsrq
uvwxy
qrs
l n
ghi
m
บางสิ่งที่ควรสังเกตเมื่อเราพับออกไปด้านนอกเรามักทำสิ่งนี้เช่นกัน (ตัวเลขที่เพิ่มเข้ามาเพื่อความกระจ่างซึ่งหมายถึง 'ดัชนี' ในตัวอย่างเหล่านี้):
เมื่อเราพับด้านซ้ายออก:
123 to: 321 123
fghij ihgf j
เมื่อเราพับด้านขวา:
123 to: 123 321
fghij f jihg
เมื่อเราพับขึ้นไป:
3q
2l
1g
b to: b
1g 1
2l 2
3q 3
v v
เมื่อเราพับลง:
b b
1g 1
2l 2
3q 3
v to: v
3q
2l
1g
กฏท้าทาย:
- คุณสามารถสมมติว่าอินพุตจะมีอักขระอย่างน้อย 1 ตัวเสมอ (ซึ่งจะเป็นเอาต์พุต)
- รูปแบบเอาต์พุตมีความยืดหยุ่นดังนั้นคุณสามารถพิมพ์ไปที่ STDOUT หรือ STDERR; กลับมาเป็น string-array / list หรือ character 2D-array; สตริงเดี่ยวที่มีบรรทัดใหม่; เป็นต้น
- ข้อมูลที่ป้อนจะมีเพียงตัวอักษรและตัวเลข (
a-zA-Z0-9
) - นอกจากนี้คุณยังสามารถใช้เป็นตัวละครที่ไม่ใช่ตัวเลขที่จะเติมช่องว่างในและ / หรือการส่งออกทั่ว ASCII
.
ศิลปะเช่นจุด - ช่องว่างต่อท้ายและบรรทัดใหม่ต่อท้ายบรรทัดเดียวเป็นตัวเลือก
- เราดำเนินการตีแผ่ต่อไปจนกระทั่ง 'บล็อก' ที่พับด้านนอกไม่มีศูนย์ที่ต้องเปิดอีก
กฎทั่วไป:
- นี่คือcode-golfดังนั้นคำตอบที่สั้นที่สุดในหน่วยไบต์ชนะ
อย่าปล่อยให้ภาษารหัสกอล์ฟกีดกันคุณจากการโพสต์คำตอบด้วยภาษาที่ไม่ได้เข้ารหัส พยายามหาคำตอบสั้น ๆ ที่เป็นไปได้สำหรับภาษาโปรแกรม 'ใด ๆ ' - กฎมาตรฐานใช้สำหรับคำตอบของคุณดังนั้นคุณจึงได้รับอนุญาตให้ใช้ STDIN / STDOUT ฟังก์ชั่น / วิธีที่มีพารามิเตอร์ที่เหมาะสมและชนิดผลตอบแทนโปรแกรมเต็มรูปแบบ การโทรของคุณ
- ช่องโหว่เริ่มต้นเป็นสิ่งต้องห้าม
- หากเป็นไปได้โปรดเพิ่มลิงค์พร้อมทดสอบรหัสของคุณ
- นอกจากนี้โปรดเพิ่มคำอธิบายหากจำเป็น
กรณีทดสอบ:
Input: abcdefghijklmnopqrstuvwxy
Output:
m
qrs
l n
ghi
abcde
ihgf jihg
mn lk on lm
srqp tsrq
uvwxy
qrs
l n
ghi
m
Input: A
Ouput:
A
Input: ThisIsATest
Output:
I
Thi
Is sI
ATe
I
Input: HowAboutAVeryLongExampleWhichIsAlsoAnEvenSquareInsteadOfOddOneAndExceeds64Chars
Output:
An
ch
xamp
i I
o E
quar
steadO
S e
s v
h s
E l
VeryLo
HowAbout
oLyreVA noLyreV
xampl Eg el Examp
hci Is hW As hi Ihc
nAo Ev sl ev so EnA
quare Sn Ie Squar
Odaetsn fOdaets
OddOneAn
steadO
S e
s v
h s
E l
VeryLo
xamp
i I
o E
quar
An
ch
Input: Lenght7
Output:
Le
ng
Input: abc
Output:
a