Dado un hexágono de arte ASCII como entrada, salida uno cuyos lados son todos una unidad más larga.
_____
____ / \
/ \ / \
/ \ / \
\ \ => \ \
\ / \ /
\____/ \ /
\_____/
Los hexágonos de entrada tendrán una simetría de 180 grados, pero de lo contrario los lados pueden tener diferentes longitudes. Arriba, las longitudes laterales (2, 4, 3) se agrandan a (3, 5, 4). Las longitudes laterales serán distintas de cero.
Los hexágonos están hechos de guiones bajos _
, barras diagonales /
y barras diagonales inversas \
. Tenga en cuenta que de los bordes horizontales (hechos con guiones bajos), el borde superior está en su propia línea pero el borde inferior no.
I / O
Voy a ser riguroso y requeriré un formato de arte científico aquí: la entrada y la salida deben ser una cadena con líneas nuevas que representen la imagen, no una lista de líneas. Por supuesto, su código puede imprimir cada línea a su vez para producir la imagen, o leer STDIN una línea una vez para ingresar si su idioma puede hacerlo.
Detalles
La entrada puede incluir una nueva línea final opcional si lo desea, pero de lo contrario no tendrá líneas vacías. Puede elegir no tener espacios finales en la entrada o espacios para rellenar cada línea a la misma longitud (la de la línea más larga).
La salida debe estar al ras del borde izquierdo de la pantalla, como la entrada. Puede tener nuevas líneas adicionales arriba y abajo, así como espacios finales.
Casos de prueba
Entrada seguida de salida.
_
/ \
\_/
__
/ \
/ \
\ /
\__/
____
/ \
/ \
\ \
\ /
\____/
_____
/ \
/ \
/ \
\ \
\ /
\ /
\_____/
_
/ \
/ /
/ /
/ /
/ /
\_/
__
/ \
/ \
/ /
/ /
/ /
/ /
\ /
\__/
Tabla de clasificación
<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?