博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
火车运煤问题
阅读量:5066 次
发布时间:2019-06-12

本文共 793 字,大约阅读时间需要 2 分钟。

      XX公司的一道笔试题,煤矿有3000吨煤要拿到市场上卖,有一辆火车可以用来运煤,火车最多能装1000吨煤,且火车本身需要烧煤做动力,每走1公里消耗1吨煤,如何运煤才能使得运到市场的煤最多,最多是多少?

最优解:

1,火车从煤矿出发3次,也即回来2次。(这样可以把3000吨都运出,回煤矿次数越多越费煤,所以最少需要回2次)

2,火车每次回煤矿要是空车。(如果不是空车,回煤矿两次显然不可能把所有煤运出去)

3,由于回煤矿两次,所以在中途有两个停车点,剩余的煤卸在停车点。

因此,最近的卸煤点设为x(与煤矿的距离),远处的卸煤点设为y(与x的距离),则1000 – 2x = 3x。2x是第一次卸煤时从煤矿往返消耗煤量,3x是第二次卸煤(在远处的卸煤点y)时从煤矿往返到x消耗煤量+最后一次运煤时途经x消耗煤量。这样解得x = 200

第一个1000吨煤供中途跑路用。

由于每次从煤矿出路过x时,煤量补满;每次回煤矿路过x时煤刚好用完,然后补够x。这样相当于第二个卸煤点的煤是从x点满载运出来的1000吨剩余的煤量,1000 – 2y = y。y是从第一个卸煤点到第二个卸煤点间的距离。这样解得y = 333.33

于是x卸煤点距煤矿200公里,y卸煤点距煤矿333.33 + 200 = 533.33公里。

第二个1000吨煤也供中途跑路用。

这样最后一次运煤,途经x时,把x的煤全部用完,然后火车满载;途经y时,把y的煤全部用完,然后火车满载。于是,在y点时,火车满载1000吨煤,距离终点1000 - 533.33公里,路上消耗1000 - 533.33吨煤,剩余1000 – (1000 – 533.33) = 533.33吨煤。

转载于:https://www.cnblogs.com/codingmylife/archive/2012/10/05/2712249.html

你可能感兴趣的文章
[BZOJ4452] Export Estimate
查看>>
《人月神话》---1
查看>>
DDoS防御方案
查看>>
jmx无验证设置
查看>>
Always keep in mind
查看>>
learning python学习小记(一)
查看>>
英语学习
查看>>
JavaScript中错误正确处理方式,你用对了吗?
查看>>
Redis学习笔记之入门基础知识——简介
查看>>
定时调度框架:Quartz.net
查看>>
面向过程(或者叫结构化)分析方法与面向对象分析方法到底区别在哪里?请根据自己的理解简明扼要的回答。...
查看>>
PHP采集远程图片
查看>>
微软颜龄Windows Phone版开发小记
查看>>
WPF 获取屏幕分辨率(获取最大宽高)等
查看>>
form表单提交时,同一个名字的input类型的两个同时提交会覆盖吗
查看>>
JavaScript-Array操作
查看>>
sql server版本特性简介、版本介绍简介
查看>>
Error1
查看>>
debian上安装docker ce
查看>>
学院-读书:影响世界的100本书
查看>>