Алгоритм выделения / выделения

#python #allocation

#python #распределение

Вопрос:

Я пытаюсь разделить 8 шаров с 4 людьми в таблице ниже. Столбец 1,2,3 — это порядок спроса на шары. Например, Майк предпочитает ball-A в первую очередь.

Имя 1 2 3

Майк: A B C

Джон: A B —

Дэвид: Б А —

Алекс: A C —

Другой пример, всего 4 шара A и 4 C.(нет B) Если мы распределяем эти 8 шаров вручную, это должно быть так;

Майк Си Си

Джон А А

Дэвид А А

Алекс Си Си

Несмотря на то, что ball-C является третьим выбором Майка, он должен выбрать его два раза. Потому что, если он выберет ball-A, тогда Джон или Дэвид не смогут выбрать ни одного шара.

Надеюсь, я мог бы рассказать о своей проблеме с моим ужасным английским 🙂

Есть ли пример алгоритма, который вы бы предложили для решения этой проблемы? Спасибо.

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

1. Это звучит как проблема решения ограничений. Я думаю, что линейное программирование — это метод, который обычно используется для этого.

2. Это звучит как проблема домашнего задания. Какой код вы пробовали?