以下问题:
发动机(例如汽车)在直路上开始行程.其消耗量与距离成正比(例如480公里使用一个单位的燃料,因此48公里使用十分之一的燃料).该发动机最多可输送一个燃料单位.
起点是供应n0个燃料单位.在路线的不同点,是燃料库(例如n1 @ d1,n2 @ d2等),驾驶员可以在路线上的任何地方卸载燃料.例如,对于一个单位的值为480公里,驾驶员可以驾驶160公里创建一个具有1/3单位燃料的车辆段并且驾驶回到起点以给他的发动机加油.
我正在寻找一种算法(或一些想法来找到一个)来找到可以实现的最大距离,具体取决于起始燃料和路线上的油库.
最佳答案 我认为您还可以“反转”a *,dijkstra方法中使用的“< =”比较. 或者添加逻辑参数(最佳,最差)路径. 因此,您可以保持相同的路径搜索,而无需重复代码.