У меня немного не хватает идей, как реализовать небольшой проект.
Что у меня есть:
- список пользователей, включая их ID и имя
Чего я хочу достичь:
- я хочу объединить каждого пользователя в этом списке с другим пользователем, чтобы ни один пользователь не был назначен более чем одному пользователю и ни один пользователь не был назначен для себя,- Комбинация должна быть случайной и должна учитывать прошлые комбинации
Моя идея пока:
- У меня есть эта информация:
Пользователь (A, B, C, D) (фактическое число пользователей колеблется от 50 до 400)
Возможные комбинации: (AB, AC, AD, BC, BD, CD)
Произвольная ничья (1): (AB,CD)
Случайная ничья (2): (AD, BC)
Случайная ничья (3): (AC, BD)
- Мне удалось получить все возможные комбинации, используя соединениепользовательской таблицы с собой.
- Полагаю, я могу учесть предыдущие ничьи, сохранив ничьи в отдельной таблице и ограничив возможные комбинации теми, которых нет в этой специальной таблице.
Что я могу'do do:
- я не знаю, как выбрать случайным образом из списка возможных комбинаций, чтобы каждый пользователь участвовал только в одной комбинации на один розыгрыш (например, AB, AD в одном розыгрыше не допускается)
- Я пытаюсь использовать sql или немного php для этого (возможно, javascript)
Спасибо за любую помощь.