Пытаюсь решить задачу (на php, но язык программирования не имеет значения). У меня есть n количество человек, которые заплатили деньги, и у меня есть m количество людей, которые собираются заплатить ту же сумму, что и сумма того, что n количество людей, которые заплатили. Я хочу рассчитать кратчайший маршрут денежных переводов между этими лицами. Можно разделить платежи и платить разным лицам. В идеале один человек совершает только одну или две транзакции. Может ли кто-нибудь указать мне правильное направление или помочь мне с этим?
Пример: человек А заплатил 100 долларов.
человек Б заплатил 200 долларов
человек C заплатил 50 долларов
человек D заплатит 24 доллара
человек Е заплатит 175 долларов
человек F заплатит 151 доллар
Одним из возможных решений является
человек E платит 100 долларов человеку A,
человек E платит 75 долларов человеку B,
человек F платит 125 долларов человеку B,
человек F платит 26 долларов человеку C
человек D платит 24 доллара человеку C