天天看点

运白菜问题

          1、一个商人和一匹马要运送3000棵白菜到1000里外的小镇,马每次最多能运1000棵白菜,而且每走一里路要吃掉一棵白菜,问商人最多能运送多少白菜到目的地(商人自己不运送白菜)

          思路:一共有3000课白菜,来1公里运一次,每次运1000棵;

                     将3000棵都运到1公里处时要消耗5棵白菜;

                     设5x < = 1000   x = 200  即将3000棵白菜都运到200公里时,此时消耗了1000棵白菜,剩下2000棵白菜;接下来继续运;

                      此时每运1公里需要消耗3棵白菜;

                     设3y <=1000  y= 333,   即又走了333公里,消耗了999棵白菜,剩下1001棵白菜,丢掉1棵白菜,就剩下1000,直接运送到终点即可

                      最后剩下  1000 - (1000 - 200 - 333)= 533   

                   最终运送到终点就剩下533课白菜了。

         主要用到动态的数据变化来换得最少的消耗!!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

继续阅读