牛搬运玉米的问题

来源:互联网 发布:简单特效视频制作软件 编辑:程序博客网 时间:2024/05/11 11:02

题目:3只牛牛要将3000个玉米搬运到1000公里外的地方去,每只牛最多负重1000个玉米,每前进一公里牛牛要吃掉1个玉米,没有玉米则不能前进,牛牛之间可以相互交换玉米,最多能搬多少玉米到目的地?

 

3只牛每只负重1000个玉米,从起点开始,到终点刚好大家把玉米都吃光了。这样肯定是不行的。

 

先把问题简单化,2只牛2000个玉米,每只牛运1000个玉米从起点出发,到500米的时候,2只牛各吃掉了500个玉米,还剩500个,牛A将自己的玉米都给牛B(这词儿~~),牛B又有1000个玉米了,再前进500米到终点,这样可以剩下500个成果。

 

3只牛的情况类似,牛ABC一起出发,走一会儿,牛A将自己的玉米全部分给牛B和C,牛B和C尽量拿到1000个玉米;牛B和C再走一会儿,牛B把自己的玉米都给牛C,此时牛C要尽量拿到1000个玉米,牛C走完剩下的路程,完成搬运。有点像中学的数学应用题了。

 

                      X                                  Y                             1000

牛A ------------|-------------------------|---------------------|

牛B ------------|-------------------------|---------------------|

牛C ------------|-------------------------|---------------------|

 

设ABC前进X米,A将自己的玉米都分给BC;(1000 - X) / 2 + (1000 - X) <= 1000

X >= 1000 / 3

取X=334

此时,BC都有999个玉米。

 

BC又前进Y米,B将自己的玉米都给C。

2 * (999 - Y) <= 1000

Y >= 499

取Y=499

 

C继续前进1000-334-499=167米到达终点,成功带来1000-167=833个玉米。

 

 

题目应该是解出来了吧,不过,牛吃玉米么。。。

原创粉丝点击