因此,假设您有一列火车和 10.000 (0...9999) 个车站。火车在0号站。
每个站点都有一些货物要运送到任何其他站点之一。并且发往其他站的货物数量是随机的:每站1~100吨。
您的火车一次最多只能运载 50 吨。一旦火车在任何车站提货,它必须先卸货,然后才能提货(即如果当前列车载重1吨,即使剩余49吨空间也不能提货)。
因此,开发火车将在最短的时间内运送所有货物的算法。
这是我第一次快速思考这个问题,如果我想到更好的答案,我会回来编辑我的答案。其他人也许能够接受我提供的东西并为您提供更多帮助。这是“蛮力”方法,可能有更好的方法来解决这个问题。
我认为它的复杂性大约是 n+n*n+n = 2n+n^2。这对于 10,000 个站点应该是可行的。小心内存,当我最初开始写这篇文章时,我想保存所有可能需要 20,000 的排列!在记忆中。
抱歉,我使用的是美国方式 , 而不是 . 用于千位分隔符。
希望这会有所帮助!