(relacionado: uno , dos , tres )
Un acróstico es un estilo de poema / escritura donde el carácter inicial de cada línea, cuando se lee verticalmente, también produce una palabra o mensaje. Por ejemplo,
Together
Everyone
Achieves
More
también deletrea la palabra TEAM
cuando la primera columna se lee verticalmente.
Los acrósticos son un subconjunto de s mesosticos , donde la palabra vertical puede estar en cualquier lugar de las palabras horizontales. Por ejemplo, el TEAM
anterior también podría escribirse como un mesostico de la siguiente manera
togeTher
everyonE
Achieves
More
junto con varias otras variaciones.
El desafío aquí será producir un acróstico o mesostico a partir de una lista dada de palabras de entrada.
Entrada
- Una lista de palabras en cualquier formato adecuado .
- La lista solo contendrá palabras en minúsculas
[a-z]
. - Se garantiza que la lista formará un acróstico o un mesostico (no es necesario manejar entradas falsas).
- Una de las palabras en la entrada formará la palabra vertical, mientras que el resto hace las palabras horizontales; parte del desafío aquí es encontrar la palabra vertical adecuada, para que no se pueda tomar por separado.
Salida
- El acróstico o mesostico del arte ASCII formado a partir de las palabras de entrada, escritas a STDOUT o devueltas, en cualquier formato razonable.
- La palabra vertical correspondiente debe estar en mayúscula (como en los ejemplos).
- Se requieren espacios iniciales para que la palabra vertical se alinee adecuadamente . Los espacios finales y las nuevas líneas iniciales / finales son opcionales. Los espacios iniciales adicionales también están bien, siempre que las palabras se alineen correctamente.
- Si ambos son posibles un acróstico y mesostic, salida única el acróstico.
- Si es posible más de un acróstico / mesostico, su código puede generar uno o todos ellos.
Reglas
- Un programa completo o una función son aceptables.
- Las lagunas estándar están prohibidas.
- Este es el código de golf, por lo que se aplican todas las reglas habituales de golf, y gana el código más corto (en bytes).
Ejemplos
['together', 'team', 'everyone', 'achieves', 'more']
Together
Everyone
Achieves
More
['aaa', 'aaa', 'aaa', 'aaa']
Aaa
Aaa
Aaa
# One output, or multiple (of the same) output is allowed
['aaa', 'aaa', 'aab', 'baa']
Aaa
Aaa
Baa
# This is the only allowed output, since others would be mesostic, which are lower priority
['live', 'every', 'love', 'very', 'ohio']
Live
Ohio
Very
Every
# Note that 'live' couldn't be the vertical word since then it would be a mesostic, which is lower priority output
['cow', 'of', 'fox']
cOw
Fox
# A shorter mesostic test case
['late', 'ballroom', 'anvil', 'to', 'head']
anviL
bAllroom
To
hEad