บทนำ
บางครั้งกล่องของฉันเล็กเกินไปที่จะใส่อะไรลงไป ฉันต้องการให้คุณทำกล่องขยาย! ดังนั้นสิ่งที่ทำให้กล่องกล่องในความท้าทายนี้
OOOO
O O
O O
O O
OOOO
มุมของกล่องเป็นช่องว่างเสมอ ตัวกล่องสามารถสร้างขึ้นมาจากตัวละครเดียวกัน อักขระนั้นสามารถเป็นอักขระ ASCII ที่พิมพ์ได้ยกเว้นช่องว่าง ดังนั้นนั่นคือตัวละครเหล่านี้:
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
ความยาวด้านข้างของกล่องข้างต้นเป็น4, 3 คุณอาจจะคิดว่ามีความยาวด้านข้างอยู่เสมอในเชิงบวก นั่นหมายความว่านี่คือกล่องที่เล็กที่สุดที่คุณต้องจัดการ:
#
# #
#
ในการขยายกล่องคุณจำเป็นต้องเพิ่มความยาวแต่ละด้าน ลองทำอย่างนี้ทีละขั้นตอนกับตัวอย่างข้างต้น ก่อนอื่นเราเอาส่วนบนของกล่องซึ่งก็คือ:
OOOO
เราขยายมันทีละรายการดังนั้นเราจึงได้รับ:
OOOOO
นี่คือส่วนบนและล่างของกล่องตอนนี้ หลังจากนั้นเราทำเช่นเดียวกันกับด้านข้างทางซ้ายและขวา:
O
O
O
กลายเป็น:
O
O
O
O
ตอนนี้เรารวมกันอีกกล่องซึ่งเป็น:
OOOOO
O O
O O
O O
O O
OOOOO
งาน
ได้รับกล่องขยายได้ 1 กล่องสามารถได้รับในหลายบรรทัดหรือในอาร์เรย์
กรณีทดสอบ
OOOO OOOOO
O O > O O
OOOO O O
OOOOO
XXXXXX XXXXXXX
X X > X X
X X X X
XXXXXX X X
XXXXXXX
~ ~~
~ ~ > ~ ~
~ ~ ~
~~
นี่คือโค้ดกอล์ฟดังนั้นการส่งที่มีจำนวนไบต์น้อยที่สุดจะชนะ!