【发布时间】:2011-04-02 06:44:25
【问题描述】:
我正在尝试解决一个问题(在 php 中,但编程语言无关紧要)。 我有 n 人已付款,我有 m 人将支付与n 人已付款。 我想计算这些人之间的最短汇款路线。可以拆分付款并支付给不同的人。 理想的情况是一个人只进行一两次交易。 有人可以指出我正确的方向或帮助我吗?
一个例子: A 人支付了 100 美元
B 支付了 200 美元
C 人支付了 50 美元
人 D 将支付 24 美元
个人 E 将支付 175 美元
F 人将支付 151 美元
一个可能的解决方案是
E 人向 A 人支付 100 美元,
E 人向 B 人支付 75 美元,
F 向 B 支付 125 美元,
F 向 C 支付 26 美元
D 向 C 支付 24 美元
【问题讨论】:
-
“支付账单”算法? :D 酷!
标签: php algorithm optimization knapsack-problem bin-packing