Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1658247
  • 博文数量: 695
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 4027
  • 用 户 组: 普通用户
  • 注册时间: 2013-11-20 21:22
文章分类

全部博文(695)

文章存档

2018年(18)

2017年(74)

2016年(170)

2015年(102)

2014年(276)

2013年(55)

分类: 高性能计算

2014-04-16 22:40:38

A城一个商人有一头驴子和3000根胡萝卜.要将萝卜拉到1000公里外的B城去卖,只能用驴子驮。已知驴子一次性可驮1000根胡萝卜,但每走一公里要吃掉一根胡萝卜.问商人共可卖出多少胡萝卜?

http://blog.csdn.net/jetjetlinuxsystem/article/details/6978838

分类: 算法 3454人阅读 评论(0) 举报
 方法:最在优的利用驴。
假设出时有1000根,那么在出沙漠之前一定不只1000根,那么至少要驮两次才会出沙漠,那样从出发地到都会有往返的里程,那所走的路程将大于3000公里,故最后能卖出萝卜的数量一定是小于1000根的。
那么在走到某一个位置的时候萝卜的总数会恰好是1000根。
因为驴每次最多驮1000,那么为了最大的利用驴,第一次卸下的地点应该是使萝卜的数量为2000的地点。
因为一开始有3000萝卜,驴必须要驮三次,设驴走X公里第一次卸下萝卜
则:5X=1000(吃萝卜的数量,也等于所行走的公里数)
X=200,也就是说第一次只走200公里
验算:驴驮1000根走200公里时剩800根,卸下600根,返回出发地
前两次就囤积了1200根,第三次不用返回则剩800根,则总共是2000根萝卜了。
第二次驴只需要驮两次,设驴走Y公里第二次卸下萝卜
则:3Y=1000, Y=333.3
验算:驴驮1000根走333.3公里时剩667根,卸下334根,返回第一次卸萝卜地点
第二次在途中会吃掉334根萝卜,到第二次卸萝卜地点是加上卸下的334根,刚好是1000根。
而此时总共走了:200 333.3=533.3公里,而剩下的466.7公里只需要吃466根萝卜
所以可以卖萝卜的数量就是1000-466=534.
 
 
另一个问题:有10个人从A城到B城,1000仅是,有一辆车只能坐两个人(包括司机),车100公里/小时,人5公里/小时。问最短时间到达B地的时间?
 
策略:将第一个人放在x公里处,当车接到最后一个人(也就是第九个人时),十个人同时到达终点时,这时的时 间最短。其中:把第一个人放在x公里处并返回与其他8个人相遇接第二个人用时间T1,那么第二个人与第一个人并行再去接第三个人用时间T2,等等,一直到 第8个人用T8,其中T8=T1=T2=........,第9个人到终点时T9正好十个人一起到终点。可以计算出时间。
阅读(1039) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~