火车运煤问题

      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吨煤。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值