沙漠穿行问题

来源:百度知道 编辑:UC知道 时间:2024/06/02 18:51:41
一辆汽车需要横穿一个直径800公里的沙漠,在沙漠的起点有一个加油站,可以无限加油,但汽车油箱装满油,只能跑500公里,但汽车可以跑一段距离后,从油箱卸下一部分汽油放在原地,下次再经过的时候可以再加到油箱里,问最少可以加几次油就可以横穿沙漠?
答案是3又7/15箱油

实际跑的时候,第一次加7/15的油,跑出1/15的距离,此位置我们称为A,放下5/15的油回起点。

第二次加满油,到达A,消耗1/15,加1/15的油,邮箱满,A点剩余4/15的油,继续前行,又前进1/5的距离,此位置我们称为B,放下3/5的油,然后向回开,到达A点,补充1/15的油,A点剩余3/15的油,汽车回到起点。

第三次加满油,到达A,消耗1/15,加1/15的油,邮箱满,A点剩余2/15的油,继续前行,到达B,消耗1/5,加1/5的油,邮箱满,B点剩余2/5的油,继续前行,又前进1/3的距离,此位置我们成为C,放下1/3的油,然后向回开,到达B点,补充1/5的油,B点剩余1/5的油,到达A点,补充1/15的油,A点剩余1/15的油,回到起点。

此时C距离起点的距离为500*(1/15+1/5+1/3)=300公里,距离终点正好500公里

第四次加满油,到达A,消耗1/15,加1/15的油,邮箱满,A点存油为0,继续前行,到达B,消耗1/5,加1/5的油,邮箱满,A点存油为0,继续前行,到达C,消耗1/3的油,加1/5的油,邮箱满,距离终点500公里,出发~!

最少加4次油就可以横穿沙漠。我证明了这是唯一的方案!只有一种方案。

这道题我想了很长时间(大于2小时),想了很多方案,没有再少的了。感觉这题是有难度的。

首先如果只是中转一次,最多能行多少公里。
假设到距离x公里的一点A,把尽可能多的油放下,要剩一些油回去,所以最多放下跑(500-2x)公里的油。
下次到A点后把油都带上,刚好装满,则效率是最高的
500-2x=x
x=500/3
所以只中转一次最多可以行500+500/3=667公里。

接着设想再搞个中转(从起点直接到目的地),使经过A加油后,到下个点刚好也是装满油,经过计算,发现,这些间距是个q=1/3的等比数列。
发现:最远距离的极值是500/(1-1/3)=750<800,发现不能通过沙漠,只能排除这种方案。

接下来又想到:通过很多次的中转,相当于把加油站搬到了A,然后可以再在前方找个等距500/3的中转站,那么是可行的。
800<500+500/3*2
所以只需两个。

所以方案就是:
从加油站搬运3次500/3的油到500/3公里的A;再返回装满;到A使用一瓶装满,到500/3公里外的B,放下500/3;返回A刚好没油了,装500/3回到加油站;到A装满;到B再装满,然后到目的地。完成任务!包括第一次加油,一共5次。

然后我又想了很多方案。
我现在在想,如果只加油3次,最多能跑多远,是否可以按这个思路去做,发现问题好像很复杂,等我想到更好的答案了,我再来修改,不过我觉得很复杂!因为不同的方案有很多!

我终于想到了答案!!!

这是唯一的方案!只要4次,不能再少了!用的是逆推法,从目的地开始的!

参考下面的方案:
最少在300公里处设个中转站B,加满到目的地。
而A设在x处,300>x>=150,否则第二次不能有效利用了,因为有些油放不下了。要一直加满,所以最终A处要放下x,B处要放下300-x。
对照图,每条路要走