空でない文字列の入力リストが与えられた場合、次の描画ルールに基づいて、トーナメントのASCIIアート表現を出力します。
- 文字列の数は、量が保証されています
2,4,8,16,etc.
- 最初の2つのストリングは互いに演奏し、次の2つのストリングは互いに演奏します。これは最初のラウンドです。
- ゲームごとに、同じ確率で勝者をランダムに選択します。
- 次のラウンドでは、最初のゲームの勝者が2番目のゲームの勝者、3番目のゲームの勝者が4番目のゲームの勝者、というように続きます。後続のラウンドはパターンに従います。
- 最終的には全体で1つの勝者がいます。
- きれいに出力するには(必須)、すべての文字列の前にアンダースコアを付加する必要があります
_
。 - ブラケットを適切に整列させるために、各エントリは
_
そのラウンドですべて同じ長さになるようにパディングする必要があります。 - 一貫性がある限り、パディングを追加するか追加するかを選択できます。
- 代わりに、ラウンドごとではなく、すべての文字列を同じ長さになるように事前に追加することを選択できます。どちらがあなたのコードにとってゴルファーです。
さらなるルール
- 文字自体が正しく並んでいる限り、先頭または末尾の改行または空白はすべてオプションです。
- 完全なプログラムまたは機能のいずれかが受け入れられます。関数の場合、出力する代わりに出力を返すことができます。
- 可能であれば、他の人があなたのコードを試すことができるように、オンラインテスト環境へのリンクを含めてください!
- 標準的な抜け穴は禁止されています。
- これはコードゴルフなので、通常のゴルフルールがすべて適用され、最短のコード(バイト単位)が勝ちます。
例
都市の例['Boston', 'New York', 'Charlotte', 'Atlanta', 'St. Paul', 'Chicago', 'Los Angeles', 'Phoenix']
:
_Boston______
\_New York____
_New York____/ \
\_New York_
_Charlotte___ / \
\_Charlotte___/ \
_Atlanta_____/ \
\_St. Paul_
_St. Paul____ /
\_St. Paul____ /
_Chicago_____/ \ /
\_St. Paul_/
_Los Angeles_ /
\_Los Angeles_/
_Phoenix_____/
例['Lions', 'Tigers', 'Bears', 'Oh My']
:
_Lions__
\_Tigers_
_Tigers_/ \
\_Tigers_
_Bears__ /
\_Bears__/
_Oh My__/
関連。
—
Okx
勝者の選択は、メルセンヌツイスターランダムにする必要がありますか、それとも疑似ランダムにすることができますか?
—
ザックゲイツ
@ZachGates 2つの「チーム」の間のチャンスが50〜50である限り、どの方法を使用してもかまいません。
—
AdmBorkBork