Dado um hexágono de arte ASCII como entrada, produza um cujos lados tenham uma unidade a mais.
_____
____ / \
/ \ / \
/ \ / \
\ \ => \ \
\ / \ /
\____/ \ /
\_____/
Os hexágonos de entrada terão simetria de 180 graus, mas, caso contrário, os lados podem ter comprimentos diferentes. Acima, os comprimentos laterais (2, 4, 3) aumentam para (3, 5, 4). Os comprimentos laterais serão diferentes de zero.
Os hexágonos são feitos de sublinhados _
, barras /
e barras invertidas \
. Observe que nas bordas horizontais (feitas com sublinhados), a borda superior está em sua própria linha, mas a borda inferior não.
I / O
Vou ser um defensor e exigir formatação ASCII aqui: a entrada e a saída devem ser uma string com novas linhas representando a imagem, não uma lista de linhas. Obviamente, seu código pode imprimir cada linha sucessivamente para produzir a imagem ou ler STDIN uma linha por vez para inserir se o seu idioma puder fazer isso.
Detalhes
A entrada pode incluir uma nova linha à direita opcional, se você desejar, mas, caso contrário, não terá linhas vazias. Você pode optar por não ter espaços à direita na entrada ou espaços para preencher cada linha no mesmo comprimento (o da linha mais longa).
A saída deve estar nivelada com a borda esquerda da tela, como a entrada. Você pode ter novas linhas extras acima e abaixo, além de espaços à direita.
Casos de teste
Entrada seguida de saída.
_
/ \
\_/
__
/ \
/ \
\ /
\__/
____
/ \
/ \
\ \
\ /
\____/
_____
/ \
/ \
/ \
\ \
\ /
\ /
\_____/
_
/ \
/ /
/ /
/ /
/ /
\_/
__
/ \
/ \
/ /
/ /
/ /
/ /
\ /
\__/
Entre os melhores
<iframe src="https://xmikee1.github.io/ppcg-leaderboard/?id=185760" width="100%" height="100%" style="border: none;">Oops, your browser is too old to view this content! Please upgrade to a newer version of your browser that supports HTML5.</iframe><style>html,body{margin:0;padding:0;height:100%;overflow:hidden}</style>
IEnumerable
de caracteres?