Это популярный шаблон CS, но я, по-видимому, не хватает некоторых ключевых слов, потому что мне не повезло найти его.Присвоить элементы минимальному числу групп
У меня есть комплект из 4 предметов: [A, B, C, D].
У меня есть 3 группы: 1, 2, 3.
Группа 1 может принимать или B.
Группа 2 могут принимать В или С.
Группа 3 могут принимать C или D .
Назначьте элементы таким образом, чтобы минимизировать количество используемых групп. I.e. решение будет: Группа 1: [A, B]
Группа 2: []
Группа 3: [C, D]
Как бы решить эту проблему программно? Я знаю, что видел это раньше, поэтому любые ключевые слова или ссылки, чтобы указать мне в правильном направлении, были бы очень оценены.