Акростих это стиль стихотворения / записи , где начальный символ каждой строки, при чтении по вертикали, а также производит слово или сообщение. Например,
Together
Everyone
Achieves
More
также расшифровывает слово, TEAM
когда первый столбец читается по вертикали.
Акростика - это подмножество мезостыков , где вертикальное слово может быть где угодно в горизонтальных словах. Например, TEAM
вышеприведенное можно также записать в виде мезостики следующим образом
togeTher
everyonE
Achieves
More
наряду с несколькими другими вариантами.
Задача здесь будет состоять в том, чтобы создать акростик или мезостик из заданного списка входных слов.
вход
- Список слов в любом подходящем формате .
- Список будет содержать только слова из строчных букв
[a-z]
. - Список гарантированно формирует акростих или мезостику (не нужно обрабатывать фиктивные данные).
- Одно из входных слов образует вертикальное слово, в то время как остальные составляют горизонтальные слова - часть задачи здесь состоит в том, чтобы найти подходящее вертикальное слово, поэтому его нельзя использовать отдельно.
Выход
- ASCII-арт акростик или мезостик, сформированный из входных слов, записанных в STDOUT или возвращенных в любом разумном формате.
- Соответствующее вертикальное слово должно быть написано заглавными (как в примерах).
- Ведущие пространства , чтобы получить вертикальное слово выстраиваться соответствующим образом будут необходимы . Конечные пробелы и начальные / конечные переводы строк являются необязательными. Лишние пробелы также хороши, если слова выровнены правильно.
- Если возможны как акростик, так и мезостим, выведите только акростик .
- Если возможно более одного acrostic / mesostic, ваш код может вывести любой или все из них.
правила
- Допустимы либо полная программа, либо функция.
- Стандартные лазейки запрещены.
- Это код-гольф, поэтому применяются все обычные правила игры в гольф, и выигрывает самый короткий код (в байтах).
Примеры
['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