アクロスティックは、各行の先頭の文字は、縦に読んだとき、また言葉やメッセージを生成どこ書き込み/詩のスタイルです。例えば、
Together
Everyone
Achieves
More
またTEAM
、最初の列が垂直に読み取られたときに単語を綴ります。
アクロスティクスは、メソスティックのサブセットであり、垂直方向の単語は水平方向の単語のどこにでも配置できます。たとえば、TEAM
上記の例は、次のように中間語としても記述できます。
togeTher
everyonE
Achieves
More
他のいくつかのバリエーションとともに。
ここでの課題は、入力語の特定のリストからアクロスティックまたはメソティックを生成することです。
入力
- 任意の適切な形式の単語のリスト。
- リストには小文字で作成された単語のみが含まれます
[a-z]
。 - リストは、アクロスティックまたはメソスティックを形成することが保証されています(偽の入力を処理する必要はありません)。
- 入力内の単語の1つが垂直方向の単語を形成し、残りが水平方向の単語を作成します。ここでの課題の一部は、適切な垂直方向の単語を見つけることです。
出力
- 入力ワードから形成され、STDOUTに書き込まれた、または返された、妥当な形式のASCIIアートのアクロスティックまたはメソスティック。
- 対応する縦の単語は大文字にする必要があります(例のように)。
- 縦書きの単語を適切に並べるための先行スペースが必要です。末尾のスペース、および先頭/末尾の改行はオプションです。単語が正しく整列する限り、余分な先頭のスペースも問題ありません。
- アクロスティックとメソスティックの両方が可能な場合は、アクロスティックのみを出力します。
- 複数のアクロスティック/メソスティックが可能な場合、コードはそれらの一部またはすべてを出力できます。
ルール
例
['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