Всем привет. Не могу додуматься до решения задачи. И на форуме вроде не нашел подобных тем. Есть список с числами распределенный по дням. Его нужно распределить на шестерых человек так, что-бы сумма этих чисел у каждого человека была приблизительно равна. И чтобы у каждого человека не было повторяющихся дней. Список произвольный в среднем позиций 60-100.
Всем привет. Не могу додуматься до решения задачи. И на форуме вроде не нашел подобных тем. Есть список с числами распределенный по дням. Его нужно распределить на шестерых человек так, что-бы сумма этих чисел у каждого человека была приблизительно равна. И чтобы у каждого человека не было повторяющихся дней. Список произвольный в среднем позиций 60-100.
Дат - 10, человек - шесть. Значит, у двоих - по одному. Им - самые большие Остальным четверым - по 2. Складывайте минимальное и максимальное из оставшихся каждому.
Еще можно порассуждать так: Идеальная сумма - сумма всех чисел, деленная на 6. Вот к ней при наборе и стремиться (может, еще и третьему одно значение дать, зато кому-то сразу три мелких).
Дат - 10, человек - шесть. Значит, у двоих - по одному. Им - самые большие Остальным четверым - по 2. Складывайте минимальное и максимальное из оставшихся каждому.
Еще можно порассуждать так: Идеальная сумма - сумма всех чисел, деленная на 6. Вот к ней при наборе и стремиться (может, еще и третьему одно значение дать, зато кому-то сразу три мелких).Perfect2You
Сообщение отредактировал Perfect2You - Пятница, 21.04.2017, 22:51
Дат - 10, человек - шесть. Значит, у двоих - по одному. Им - самые большие Остальным четверым - по 2. Складывайте минимальное и максимальное из оставшихся каждому.
Еще можно порассуждать так: Идеальная сумма - сумма всех чисел, деленная на 6. Вот к ней при наборе и стремиться (может, еще и третьему одно значение дать, зато кому-то сразу три мелких).
Отредактировал вопрос. А программно не получится реализовать? потому что список резиновый и постоянно меняется.
Дат - 10, человек - шесть. Значит, у двоих - по одному. Им - самые большие Остальным четверым - по 2. Складывайте минимальное и максимальное из оставшихся каждому.
Еще можно порассуждать так: Идеальная сумма - сумма всех чисел, деленная на 6. Вот к ней при наборе и стремиться (может, еще и третьему одно значение дать, зато кому-то сразу три мелких).
Отредактировал вопрос. А программно не получится реализовать? потому что список резиновый и постоянно меняется.Melkor
Это - разновидность задачи о паковке рюкзака. Да еще усложенная. Беда с этой задачей, что количество вычислений для поиска решения увеличивается в разы при добавлении каждого следующего участника.
Но поищите по форуму именно по этому ключу - разные решения предложены.
Вам надо в цикле запускать задачу о паковке рюкзака с поиском суммы, равной общей сумме, деленной на количество участников...
Это - разновидность задачи о паковке рюкзака. Да еще усложенная. Беда с этой задачей, что количество вычислений для поиска решения увеличивается в разы при добавлении каждого следующего участника.
Но поищите по форуму именно по этому ключу - разные решения предложены.
Вам надо в цикле запускать задачу о паковке рюкзака с поиском суммы, равной общей сумме, деленной на количество участников...Perfect2You