(пов’язано: один , два , три )
Без цензури це стиль вірша / записи , де початковий символ кожного рядка, при читанні по вертикалі, а також виробляє слово або повідомлення. Наприклад,
Together
Everyone
Achieves
More
також пише слово, TEAM
коли перший стовпець читається вертикально.
Акростики - це підмножина мезостики , де вертикальне слово може бути в будь-якому місці горизонтальних слів. Наприклад, те, що TEAM
вище, також можна записати як мезостик наступним чином
togeTher
everyonE
Achieves
More
разом з кількома іншими варіантами.
Завданням буде полягати в тому, щоб створити акростичний або мезостик із заданого списку вхідних слів.
Вхідні дані
- Список слів у будь- якому підходящому форматі .
- Список буде містити лише слова, написані з малих літер
[a-z]
. - У цьому списку гарантовано утворюється акростик або мезостик (не потрібно обробляти хибні дані).
- Одне зі вхідних слів формуватиме вертикальне слово, а решта - горизонтальні слова - частина завдання тут полягає у тому, щоб знайти відповідне вертикальне слово, тому його не можна сприймати окремо.
Вихідні дані
- ASCII-арт-акростик або мезостик, сформований із вхідних слів, записаних у STDOUT або повернутих, у будь-якому розумному форматі.
- Відповідне вертикальне слово має бути з великої літери (як у прикладах).
- Необхідні провідні пробіли, щоб вертикальне слово було відповідним чином вирівняно . Проміжні місця та провідні / кінцеві нові рядки необов’язкові. Додаткові провідні пробіли також добре, якщо слова правильно вирівнюються.
- Якщо як акростих і 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