Un acrostiche est un style de poème / écriture où le caractère de début de chaque ligne, lu verticalement, produit également un mot ou un message. Par exemple,
Together
Everyone
Achieves
More
précise également le mot TEAM
lorsque la première colonne est lue verticalement.
Les acrostiches sont un sous-ensemble de s mésostiques , où le mot vertical peut être n'importe où dans les mots horizontaux. Par exemple, TEAM
celui ci-dessus pourrait également être écrit comme un mésostique comme suit
togeTher
everyonE
Achieves
More
ainsi que plusieurs autres variantes.
Le défi ici sera de produire un acrostiche ou mésostique à partir d'une liste donnée de mots d'entrée.
Contribution
- Une liste de mots dans n'importe quel format approprié .
- La liste ne contiendra que des mots en minuscules
[a-z]
. - La liste est garantie de former un acrostiche ou un mésostique (pas besoin de gérer de fausses entrées).
- L'un des mots dans l'entrée formera le mot vertical, tandis que les autres feront les mots horizontaux - une partie du défi ici est de trouver le mot vertical approprié, donc il ne peut pas être pris séparément.
Sortie
- Acrostiche ou mésostique de l'art ASCII formé à partir des mots saisis, écrits dans STDOUT ou retournés, dans n'importe quel format raisonnable.
- Le mot vertical correspondant doit être en majuscule (comme dans les exemples).
- Des espaces de tête pour aligner correctement le mot vertical sont nécessaires . Les espaces de fin et les nouvelles lignes de début / fin sont facultatifs. Les espaces de tête supplémentaires sont également très bien, tant que les mots s'alignent correctement.
- Si à la fois un acrostiche et un mésostique sont possibles, sortez uniquement l'acrostique.
- Si plusieurs acrostiches / mésostiques sont possibles, votre code peut en générer une partie ou la totalité.
Règles
- Un programme complet ou une fonction sont acceptables.
- Les failles standard sont interdites.
- Il s'agit de code-golf, donc toutes les règles de golf habituelles s'appliquent et le code le plus court (en octets) l'emporte.
Exemples
['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