Сегодняшний XKCD - это сетка в стиле спортивного турнира, где участники - это известные имена, объединенные в группы, возможно, с запутанными именами.
Дайте вероятность того, что данный участник выиграет весь турнир, исходя из того, что каждый участник в данном раунде имеет равные шансы на победу в этом раунде.
вход
Имя участника.
- XKCD любит использовать все прописные буквы, но вы можете использовать любой регистр, который имеет смысл для вас, или сделать ввод ввод нечувствительным к регистру.
- Вы можете предположить, что все входные имена действительны.
Jeff Gordan
это, вероятно, опечаткаJeff Gordon
. Вы можете принять один или оба из них.- Некоторые имена включают знаки препинания, например
H. G. Wells
иJoseph Gordon-Levitt
. Вы можете принять имена с или без знаков препинания (или оба). Выше без пунктуации будетH G Wells
иJoseph Gordon Levitt
- Кроме того , вы можете принять либо
Beyoncé
илиBeyonce
или оба Mister/Fred Astaire/Rogers
Линия является немного странным. Для этого, вы должны принять все из следующих условий :Fred Rogers
,Mister Rogers
иFred Astaire
Выход
Вероятность того, что данный участник выиграет весь турнир в рациональной форме (например 1/64
)
Примеры
- Потенциально Луи Армстронг сыграет в 6 раундах, в каждом из которых по два участника, поэтому у него есть шанс выиграть 1/64.
- Алан Рикман потенциально сыграет в 7 раундах, первый с 3 участниками, а остальные с 2 участниками, так что у него есть шанс выиграть 1/192.
Чтобы избавить вас от необходимости вводить все имена с изображения, объяснение XKCD уже содержит их в виде таблиц . Я также выбросил их в эту пастинку .
Обратите внимание, что вероятности выигрыша в объяснении XKCD неверны - они в два раза больше, чем должны быть, потому что они, вероятно, забывают последний раунд. Спасибо за указание на это @Geobits.
источник
Ответы:
CJam, 161 байт
Это полная программа, которая ожидает ввода в верхнем регистре с пунктуацией и акцентами в точности так, как показано на рисунке.
Попробуйте онлайн в интерпретаторе CJam .
Как это устроено
источник