火车运煤问题
来源:互联网 发布:手机测量尺寸软件 编辑:程序博客网 时间:2024/06/11 00:34
本文章转自http://www.cnblogs.com/codingmylife/archive/2012/10/05/2712249.html
转载请通知作者,谢谢。
火车运煤问题
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吨煤。
- 火车运煤问题
- 火车运煤问题
- 火车运煤问题
- 火车运煤问题
- 火车运煤问题
- 火车运煤问题
- 火车运煤问题
- 火车运煤问题
- 火车运煤问题
- 火车运煤问题
- 《火车运煤问题》分析
- 火车运煤问题分析
- 火车运煤问题分析
- 面试题:火车运煤问题
- 面试题:火车运煤问题
- 面试题:火车运煤问题
- 也谈《火车运煤》问题
- 【面试题】:火车运煤问题
- ABAP中如何得到一個月的最後一天
- ARM处理器的程序与数据存储(冯·诺依曼与哈佛结构)
- 9.1-数组合并
- getView的调用时机
- Java字符串分割
- 火车运煤问题
- 从在浏览器输入URL到页面加载完成所发生的
- Linux下分割合并文件
- 最长连续公共子序列
- poj 2769 Reduced ID Numbers
- jsp中include的两种形式
- Codeforces 464C Substitutes in Number 同余定理+模拟
- 强大的QDataStream
- [English]形容词和名词