Жеребьёвка тайного Санты

Ваши данные

Результаты

Передавайте экран каждому и дайте открыть своё имя. Повторное открытие закрывает его.

Имя Дарит подарок

Реакции

0

0 Комментарии

User profile image

Прокомментируйте первым

Может ли кто-то вытянуть самого себя?

Нет. Жеребьёвка перемешивает весь список и выбрасывает попытку, если кто-то вытянул себя или попал в запрещённую пару, а затем перемешивает заново.

Звучит дорого, но это не так: доля перемешиваний, где никто не вытягивает себя, держится около 36,79 процента, поэтому в среднем нужно меньше трёх попыток, и это не растёт с размером группы.

Как не дать паре вытянуть друг друга?

Напишите оба имени в одной строке второго поля через запятую. Правило действует в обе стороны, так что ни один из них не вытянет другого.

Каждая добавленная пара делает допустимые жеребьёвки реже. Две пары в группе из шести требуют примерно шести попыток вместо трёх — это по-прежнему мгновенно; но правило, не оставляющее ни одной допустимой жеребьёвки, например двое, которым нельзя вытянуть друг друга, получает предупреждение, а не ответ.

Почему бы просто не перемешать и дать каждому следующего по очереди?

Потому что так всегда получается одна замкнутая цепочка — маленькая доля всех допустимых жеребьёвок. Проблема не статистическая, а в секрете: в единственной цепочке двое сравнивших узнают отрезок очереди, и нескольких сравнений хватает, чтобы распутать всё.

Жеребьёвка с отбрасыванием может дать две отдельные цепочки, и тогда сравнение не выдаёт ничего за пределами своей.

Уходят ли имена с моего компьютера?

Нет. Вся жеребьёвка происходит в браузере: ничего не уходит на сервер, ничего не сохраняется, а закрытие страницы теряет результат.

Это также значит, что нет ни ссылки для отправки, ни уходящего письма. Доставка — это экран: каждый открывает свою строку и снова закрывает её.