题目: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个玉米。
题目应该是解出来了吧,不过,牛吃玉米么。。。