スポーツ競技では、勝者が表彰台に上ることがよくあります。1位の人が真ん中、2位の人が真ん中の高さ、3位の人が最も低く、右の方へ。ここで、いくつかの特別な調整を加えて再現します。
表彰台は以下のとおりです。
@---@
| @ |
@---@| | |
| @ || | |
| | || | |@---@
| | || | || @ |
これは、この課題の基礎となります。次のステップは、表彰台をその上にいる人々(印刷可能なASCII文字列)に合わせて十分に広くすることです。ただし、美的美しさを確保したいので(これは素晴らしい写真の機会です)、各表彰台は同じ幅である必要があり、幅は奇数でなければなりません。さらに、人々は(明らかに)表彰台の中央に立つことを望みます。そのため、弦はできるだけ中央に配置する必要があります。(左または右に揃えることができ、一貫している必要はありません。)上記の表彰台は最小サイズであり、3
幅が広いと見なされます。
たとえば、["Tom", "Ann", "Sue"]
1位、2位、3位をそれぞれ表す入力が与えられた場合、次の表彰台を出力します。
Tom
@---@
Ann | @ |
@---@| | |
| @ || | | Sue
| | || | |@---@
| | || | || @ |
ただし、のAnne
代わりにがある場合はAnn
、次のサイズに進み5
、文字列をできるだけ中央に配置する必要があります。ここでは、「余分な」文字Anne
が中央の左側にくるように調整していますが、どの側に調整するかを選択できます。
Tom
@-----@
Anne | @ |
@-----@| | |
| @ || | | Sue
| | || | |@-----@
| | || | || @ |
もっと長い名前を探しましょう。どうですか["William", "Brad", "Eugene"]
:
William
@-------@
Brad | @ |
@-------@| | |
| @ || | | Eugene
| | || | |@-------@
| | || | || @ |
ここではBrad
、空白が多く、Eugene
それほど多くWilliam
なく、適切に収まっていることがわかります。
より長いテストケースの場合は、次のようにし["A", "BC", "DEFGHIJKLMNOPQRSTUVWXYZ"]
ます。
A
@-----------------------@
BC | @ |
@-----------------------@| | |
| @ || | | DEFGHIJKLMNOPQRSTUVWXYZ
| | || | |@-----------------------@
| | || | || @ |
最後に、次のような最小の入力があります["A", "B", "C"]
。
A
@---@
B | @ |
@---@| | |
| @ || | | C
| | || | |@---@
| | || | || @ |