pengantar
Terkadang, kotak saya terlalu kecil untuk memuat apa pun di dalamnya. Saya ingin Anda membuat kotak expander! Jadi, apa yang membuat kotak sebuah kotak dalam tantangan ini.
OOOO
O O
O O
O O
OOOO
Sudut kotak selalu spasi. Kotak itu sendiri dapat dibuat dari karakter yang sama. Karakter itu dapat berupa karakter ASCII yang dapat dicetak , kecuali spasi. Jadi, itulah karakter-karakter ini:
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
Panjang sisi kotak di atas adalah 4, 3 . Anda dapat mengasumsikan bahwa panjang sisi selalu positif . Itu berarti bahwa ini adalah kotak terkecil yang perlu Anda tangani:
#
# #
#
Untuk memperluas kotak, Anda harus menambah setiap sisi. Mari kita lalui ini, langkah demi langkah, dengan contoh di atas. Kami pertama-tama mengambil sisi atas kotak, yaitu:
OOOO
Kami memperluas ini satu per satu, jadi kami mendapatkan:
OOOOO
Ini adalah bagian atas dan bawah kotak sekarang. Setelah itu, kita melakukan hal yang sama dengan sisi-sisi di kiri dan kanan:
O
O
O
Menjadi:
O
O
O
O
Sekarang kami memasang kembali kotak, yang menghasilkan:
OOOOO
O O
O O
O O
O O
OOOOO
Tugas
Diberikan sebuah kotak, perluas dengan 1. Kotak tersebut dapat diberikan dalam beberapa baris, atau dalam sebuah array.
Uji kasus
OOOO OOOOO
O O > O O
OOOO O O
OOOOO
XXXXXX XXXXXXX
X X > X X
X X X X
XXXXXX X X
XXXXXXX
~ ~~
~ ~ > ~ ~
~ ~ ~
~~
Ini adalah kode-golf , jadi pengiriman dengan jumlah byte paling sedikit menang!
