Dada uma lista de entrada de strings não vazias, produza uma representação artística ASCII de um torneio, com base nas seguintes regras de desenho:
- O número de strings é garantido como sendo de quantidade
2,4,8,16,etc.
- As duas primeiras cordas se tocam, e as próximas duas tocam e assim por diante. Esta é a primeira rodada.
- Para cada jogo, escolha o vencedor aleatoriamente com igual probabilidade.
- Para a próxima rodada, o vencedor do primeiro jogo joga o vencedor do segundo jogo, o vencedor do terceiro jogo joga o vencedor do quarto jogo e assim por diante. As rodadas subsequentes seguem o padrão.
- Eventualmente, há um vencedor geral.
- Para uma saída bonita (necessária), todas as seqüências devem ser anexadas e anexadas com um sublinhado
_
. - Para que os colchetes se alinhem adequadamente, cada entrada deve ser preenchida com
_
o mesmo comprimento para essa rodada. - Você pode escolher se o preenchimento é anexado ou anexado, desde que consistente.
- Em vez disso, você pode optar por preencher previamente todas as seqüências de caracteres com o mesmo comprimento, e não por rodada. Qualquer que seja o golfista para o seu código.
Regras adicionais
- Novas linhas à esquerda ou à direita ou espaços em branco são opcionais, desde que os caracteres sejam alinhados corretamente.
- Um programa completo ou uma função são aceitáveis. Se uma função, você pode retornar a saída em vez de imprimi-la.
- Se possível, inclua um link para um ambiente de teste on-line para que outras pessoas possam experimentar seu código!
- As brechas padrão são proibidas.
- Isso é código-golfe, portanto todas as regras usuais de golfe se aplicam e o código mais curto (em bytes) vence.
Exemplos
Exemplo com cidades ['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_____/
Exemplo com ['Lions', 'Tigers', 'Bears', 'Oh My']
:
_Lions__
\_Tigers_
_Tigers_/ \
\_Tigers_
_Bears__ /
\_Bears__/
_Oh My__/