火车运煤问题

原题是从http://coolshell.cn/articles/4429.html/comment-page-1#comment-43757看来得

问题:

你是山西的一个煤老板,你在矿区开采了有3000吨煤需要运送到市场上去卖,从你的矿区到市场有1000公里,你手里有一列烧煤的火车,这个火车最多只能装1000吨煤,且其能耗比较大——每一公里需要耗一吨煤。请问,作为一个懂编程的煤老板的你,你会怎么运送才能运最多的煤到集市?

我是这么想的:
当煤量在(2000,3000]时,需要运送三次,且来或回总计5次;
当煤量在(1000,2000]时,需要运送两次,且来或回总计3次;
当煤量在[0,1000]时,需要运送一次,且来或回总计1次。
那么,我们只需要设置两个中点站,分别使总剩余煤量为2000,1000。
这么一算,第一段距离为1000/5(m),第二段距离为2000/3(m),第三段距离为1000-((1000/5) + (2000/3))(m)
理论最大值为1600/3吨。

posted @ 2011-04-11 12:11  SubmarineX  阅读(412)  评论(2编辑  收藏  举报