题目1:你是山西的一个煤老板,你在矿区开采了有3000吨煤需要运送到市场上去卖,从你的矿区到市场有1000公里,你手里有一列烧煤的火车,这个火车最多只能装1000吨煤,且其能耗比较大——每一公里需要耗一吨煤。请问,作为一个懂编程的煤老板的你,你会怎么运送才能运最多的煤到集市?
题目2:如果车子每次只能运500吨呢?
解题思路:因为汽车往返均需要消耗煤,因此我们必须尽量减少往返次数,从而每次运煤出发时均需装满车辆并且最后一次只出发,不返回。
我们通过前几趟的运送,在中途设置几个中转点,最后一趟的时候能通过沿途的不断补给,填充汽车的消耗,使得车上的煤已知维持在填满状态(1000吨),这样车最终剩下的煤为1000-最后一个中转点和终点的距离(1000-Tn)=Tn。