oo东东
春芽
共回答了14个问题采纳率:78.6% 举报
首先需要明确思考的基本原则:让吃了香蕉的骆驼在走路的时候尽量多负重,或者说让它吃香蕉时身边的香蕉保持最多.最直接的算法是让它吃一只香蕉,然后看它能把所有剩余的香蕉运多远.比如开始3000只香蕉需要运2.5个往返也就是5个单程,所以一只香蕉只能让它运0.2公里.之后再吃下一只香蕉,重复此过程.
另外需要明确一点:吃香蕉这一动作是瞬时还是连续过程?或者说骆驼是吃完香蕉再走路还是边吃香蕉边走路?还有骆驼是先吃香蕉后走路还是先走路再吃香蕉?这可能会造成最后结果有少量出入,三种假设条件下的最优解分别描述如下:
--------------------------
如果假设吃香蕉的过程是瞬时的,而且是先吃完香蕉再走路,可有如下过程:
第一次在0公里处吃一只香蕉,然后将剩余的香蕉从0公里运送到0.2公里,期间往返两次半.
第二只香蕉可以让骆驼把剩余的香蕉运送到至0.4公里处
重复上述过程,第999只香蕉可以让骆驼把剩余的香蕉运至199.8公里处,此时还剩2001只香蕉
在199.8公里处吃掉第1000只香蕉,还剩2000只香蕉可以运输
之后从199.8公里推进1/3公里,到达200.13公里,往返一次半,总行程1公里,第1001只香蕉让骆驼从200.133公里推进到200.467公里
第1999只香蕉让骆驼从532.8公里推进到533.133公里,此时还剩1001只香蕉
在533.133公里出,骆驼吃掉第2000只香蕉,然后驮着1000只香蕉直达目的地.
在999.133公里处,吃掉的是第2466只香蕉
在1000公里处,已到达终点,不需再喂骆驼香蕉
因此到1000公里处时,最终剩余534只香蕉
上述过程也可以简化为三段运输:
第一段从0公里运到199.8公里,往返2.5次,消耗999只香蕉,剩余2001只
第二段从199.8公里运到533.133公里,往返1.5次,消耗1000只香蕉,剩余1001只
第三段从533.133公里运到1000公里,消耗467只香蕉
最后剩534只香蕉
--------------------------
如果假设吃香蕉的过程是瞬时的,而且是先走路再吃香蕉,可有如下过程:
第一次把3000只香蕉运到0.2公里处,往返2.5次,累计行程1公里,此时骆驼吃掉第一只香蕉,还剩2999只
然后把2999只香蕉运到0.4公里处,再吃掉第二只香蕉,这时还剩2998只
重复上述过程,骆驼把剩余的香蕉运到200公里处,然后吃掉第1000只香蕉,此时还剩2000只香蕉
之后骆驼每次前进1/3公里,往返1.5次:
在200.333公里处吃掉第1001只香蕉,还剩1999只香蕉
在533.333公里处吃掉第2000只香蕉,还剩1000只香蕉,之后直达目的地
在999.333公里处,吃掉的是第2466只香蕉
在1000公里处,已到达终点,不需再喂骆驼香蕉
因此到1000公里处时,最终剩余534只香蕉.
上述过程也可以简化为三段运输:
第一段从0公里运到200公里,往返2.5次,消耗1000只香蕉,剩余2000只
第二段从200公里运到533.333公里,往返1.5次,消耗1000只香蕉,剩余1000只
第三段从533.333公里运到1000公里,消耗466只香蕉
最后剩534只香蕉
这一结果与上一假设的结果相同.但是细究起来,还是有细微差别:到达1000公里后,第一个假设情况下,骆驼还可以走0.133公里,而在第二个假设情况下,骆驼可以走0.333公里.也就是说,如果先干活后吃香蕉的话,骆驼能够把同样的香蕉多运0.2公里.
--------------------------
最后,如果假设吃香蕉是边吃边走,可有如下过程:
从0公里到200公里,往返2.5次,累计行程1000公里,骆驼吃掉1000只香蕉,还剩2000只
从200公里到533.333公里,往返1.5次,本段累计行程1000公里,骆驼吃掉1000只香蕉,还剩1000只
从533.333公里到1000公里,行程466.667公里,骆驼吃掉466.667只香蕉,还剩533.333只香蕉
具体的说,骆驼走到1000公里时,背上驮着533只香蕉,嘴里的那只香蕉还剩1/3,你需要一把夺下来.至于这剩下的1/3香蕉有什么用?这不在本问题的讨论范围内.
1年前
3