Secret Santa - Генерация «действительных» перестановок

Мои друзья пригласили меня домой, чтобы поиграть в игру Тайный Санта, где мы должны много рисовать и играть роль «Санта» для друга в игре. группа.

Итак, мы пишем все наши имена и выбираем имя случайным образом. Если кому-то из нас выбрано собственное имя, мы перетасовываем и выбираем имена снова и снова (причина в том, что человек не может быть своим Санта-Клаусом).

Во время игры нас было семеро, поэтому я подумал об окончательном «распределении Санты» как о перестановке (1: 7) на себя с некоторыми ограничениями.

Я хотел бы предложить различные идеи о том, как мы могли бы использовать Mathematica в частности или любой язык программирования или даже алгоритм, чтобы:

  • Перечислить / распечатать ВСЕ «действительные» выделения Санта-Клауса.
  • Масштабируется как количество друзей, играющих в Secret Santa, растет
29
задан smci 31 March 2014 в 13:13
поделиться