Перемещение n предметов между i пунктами назначения - PullRequest
0 голосов
/ 22 мая 2018

Мне трудно обдумать эту проблему, и я был бы признателен за подсказку, как к ней подойти.

Проблема заключается в следующем:

  • Нам дан массив продуктовых магазинов, где значением является расстояние между ними, например, [0,5,10,15,20] (5 км между каждым магазином)

  • В каждом магазине представлен список инвентаря яблок, например, [10,5,10,20,5] (в первом магазине 10 яблок, во втором 5, в третьем 10 и т. Д.)

Мужчина перемещает яблоки между магазинами, но съедает 2 яблока пр.км.Я должен сделать функцию, принимающую два массива в качестве входных данных и выводящую наибольшее количество яблок, которое может иметь каждый магазин.Это подзадача в задании, касающемся жадных алгоритмов.

Это моя идея подойти к нему до сих пор:

Найдите магазин с наибольшим количеством яблок и раздайте в соседний магазин с наименьшим количеством яблок,Выполнение этого рекурсивно оставило бы меня с довольно равномерно распределенным количеством яблок между магазинами, но только просмотр соседних магазинов делает мое решение менее оптимальным.Как мне подходить к этому, и похоже ли это на любую другую общую проблему в информатике?

Спасибо

...