introduzione
A volte, le mie scatole sono troppo piccole per adattarsi a qualsiasi cosa. Ho bisogno che tu faccia un espansore per scatole! Quindi, ciò che rende una scatola una scatola in questa sfida.
OOOO
O O
O O
O O
OOOO
Gli angoli della scatola sono sempre spazi. La scatola stessa può essere fatta con lo stesso personaggio. Quel personaggio può essere qualsiasi carattere ASCII stampabile , tranne uno spazio. Quindi, questi sono questi personaggi:
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
Le lunghezze laterali della casella in alto sono 4, 3 . Puoi presumere che la lunghezza del lato sia sempre positiva . Ciò significa che questa è la scatola più piccola che devi gestire:
#
# #
#
Per espandere una casella, è necessario incrementare ogni lunghezza laterale. Esaminiamo questo passo per passo con l'esempio sopra. Innanzitutto prendiamo il lato superiore della scatola, che è:
OOOO
Lo espandiamo di uno, quindi otteniamo:
OOOOO
Questa è la parte superiore e inferiore della scatola ora. Dopodiché, facciamo lo stesso con i lati a sinistra e a destra:
O
O
O
diventa:
O
O
O
O
Ora riassembliamo la scatola, che si traduce in:
OOOOO
O O
O O
O O
O O
OOOOO
L'obiettivo
Dato un riquadro, espanderlo di 1. Il riquadro può essere indicato in più righe o in un array.
Casi test
OOOO OOOOO
O O > O O
OOOO O O
OOOOO
XXXXXX XXXXXXX
X X > X X
X X X X
XXXXXX X X
XXXXXXX
~ ~~
~ ~ > ~ ~
~ ~ ~
~~
Questo è code-golf , quindi vince l'invio con il minor numero di byte!
