24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна.
Подробности случившегося. Мы призываем всех неравнодушных
помочь нам с восстановлением утраченного контента!
Анончики, помогите решить комбинаторную задачу по программированию, сам я уже два дня голову ломаю, не могу придумать решение, знаю что наверное нужно мутить рекурсии, и видимо не одну, но чтото совсем не могу сообразить.
Есть события (event), у которых есть продюсеры (producer), у одного события может быть много продюсеров, у продюсера есть товары (item) подходящие для конкретного события (event).
Задача, сгрупировать товары, одних продюсеров, с другими товарами, этогоже продюсера, из других событий, в одной группировке может быть только один товар из одного события.
Количество группировок варируется от количества событий, например если событий три то:
#1 групировка из 2 товаров: товар1 продюсера1 из события1 + товар1, продюсера1 из события2
#2 группировка уже из 3 товаров: товар1 продюсера1 из события1 + товар1, продюсера1 из события2 + товар1, продюсера1, из события3
#3 группировка опять 2 два товара, для следующего товара этого продюсера из первого события: товар2 продюсера1 из события1 + товар1, продюсера1 из события2
#4 группировка три товара: товар2 продюсера1 из события1 + товар1, продюсера1 из события2 + товар1, продюсера1, из события3
....
#n группиировака: товар1 продюсера1 из события1 + товар2, продюсера1 из события2
#n группиировака: товар1 продюсера1 из события1 + товар2, продюсера1 из события2 + товар1, продюсера1, из события3
...
Далее также для всех товаров этого продюсера, а потом и также для товаров следующего продюсера
Группируются товары только из разных событий, внутри одного события товар не группируется, т.е. в одной групировке может быть только один товар одного события.
Группируются, между собой, только товары одного и тогоже продюсера, товары разных продюсеров между собой не группируются
Группировка должна быть без повторов, т.е. если товар1 продюсера1 из события1 уже сгрупирован с товаром2 продюсера1 из события2, то группировать наоборот товар2 продюсера1 из события2 с товаром1 продюсера1 из события1 уже не надо
Кто знает как на комбинаторном языке называется такая группировка?
Помогите написать алгоритм группировки, желательно на PHP или Си.
Пример структуры из трех событий, с двумя одинаковыми продюсерами, в каждом событии. На этой структуре необходимо тестировать алгоритм группировки товаров продюсера
https://pastebin.com/pt0Q8Xsg