面试题:火车运煤问题

标签: 杂项资源 职场生涯 趣味问题 Puzzle 面试 | 发表时间:2011-04-11 09:01 | 作者:陈皓 Louis
出处:http://coolshell.cn

这个可能是一个比较经典的智力题了,和以前的那个《赛马问题》很相似,其题目如下:

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

这道题一开始看上去好像是无解的,因为你的火车每一公里就要消耗一吨煤,而到目的地有1000公里,而火车最多只能装1000吨媒。如果你的火车可以全部装下,到目的地也会被全部烧光,一丁点也不剩。所以,很多人的第一反应都是觉得这个不太可能。

如果你一开始就觉得不太可能的话,这是很正常的。不过我不知道你还会不会继续思考下去,如果你不想思考下去了,那么我很为你担忧,因为你可能并不是一个不善于思考的人,而是一个畏难的人,还有可能是一个容易放弃的人。这对于你做好 一个需要大量思考的工作的程序员来说可能并不适合。

我一开始也觉得不可能,后来想了一想,想到一个解法可以最多运送500吨煤到市场,方法如下:(希望你先自己想一想再查看这个答案


查看答案

  1. 装1000吨煤,走250公里,扔下500吨煤,回矿山。
  2. 装1000吨煤,走到250公里处,拿起250吨煤继续向前到500公里处,扔下500吨煤,回矿山。此时火车上还有250吨,再加上在250公里处还有250吨煤,所以,火车是可以回矿山的。
  3. 装上最后1000吨煤,走到500公里处,装上那里的500吨煤,然后一直走到目的。

于是,你最多可以运送500吨煤到市场(当然,火车也回不去了,因为那矿山没有煤了)

好像这样很不错的了,不过还有更好的方法能运更多的媒过去。你知道这个方法吗?可以提示的是,就是以上述这个方法的思路。我先暂时不把答案放上来,你可以自己想想。过两天我把答案放上来。

 

更新(2011年4月17日):大家都很聪明,533是应该是最优解,大家用了很多种方法阐述了这一过程,我最初的想法和朋友xPacificCoolShell的一致!很高兴看到有更为科学的解法,受教了。另外,还有一些朋友提出火车不能随时随地调头的实际情况,非常不错,所以,以后这题不能用火车运煤了,可能是用马运草更好一点了。;)

相关文章

相关 [面试 火车 问题] 推荐:

面试题:火车运煤问题

- Louis - 酷壳 - CoolShell.cn
这个可能是一个比较经典的智力题了,和以前的那个《赛马问题》很相似,其题目如下:. 你是山西的一个煤老板,你在矿区开采了有3000吨煤需要运送到市场上去卖,从你的矿区到市场有1000公里,你手里有一列烧煤的火车,这个火车最多只能装1000吨煤,且其能耗比较大——每一公里需要耗一吨煤. 请问,作为一个懂编程的煤老板的你,你会怎么运送才能运最多的煤到集市.

技术面试中,什么样的问题才是好问题?

- - 四火的唠叨
其实很久以前就想谈一谈这个话题了,但是最近才有了足够的动机. 因为从最近参加的很多 debrief 来看,我认为身边大多数的软件工程师面试中,在通过技术问题来考察候选人这方面,很多都做得不够好. 比方说,我看到对于一些经验丰富的软件工程师候选人的面试,一些面试官依然是草率地扔出一道算法题让做了事,并且认为能不能够比较清晰完整地将代码写出来,是工程师级别裁定的最重要的标准.

面试时,你会问面试官哪些问题?

- Walter8529 - 博客园-首页原创精华区
每次面试的时候,面试官都会在最后给面试者一些时间,来问问题. 这是个非常好的机会,能按照自己的思路,来了解职位、技术、企业文化、福利待遇、企业状况和前景等情况,以弥补前面面试过程中没有了解到的情况. 但较早以前面试准备不太充分,虽然也能地问上一些问题,但挂一漏万,每次回来后,总觉得对企业、对职位没有完全了解清楚,不能依此作出很理性的决断.

机器学习及大数据相关面试的职责和面试问题

- - IT瘾-bigdata
· 机器学习、大数据相关岗位的职责. 各个企业对这类岗位的命名可能有所不同,比如推荐算法/数据挖掘/自然语言处理/机器学习算法工程师,或简称算法工程师,还有的称为搜索/推荐算法工程师,甚至有的并入后台工程师的范畴,视岗位具体要求而定. 机器学习、大数据相关岗位的职责. 根据业务的不同,岗位职责大概分为:.

华尔街面试中最激怒人的问题

- Zoe - 每日英语
  想在华尔街工作,或者想见识一下那些顶尖金融公司的面试问题的童鞋,速速过来围观. 下面这12个面试题是亲身参加了面试的人分享的.   现在是华尔街招聘的旺季,同时也是解雇的旺季….   That means it's interview time for the new guys fresh out of college, and for the old guys who didn't make it through the recent round of cuts.

转:面试中的海量数据处理问题

- friedvan - 丕子
终于找到了一份比较完整的,分享一下. 海量数据处理:十道面试题与十个海量数据处理方法总结. 作者:July、youwang、yanxionglu. 时间:二零一一年三月二十六日. 说明:本文分为俩部分,第一部分为10道海量数据处理的面试题,第二部分为10个海量数据处理的方法总结. 出处:http://blog.csdn.net/v_JULY_v.

招聘面试抓核心,三个问题试真金

- Aaron Xu - 译言-每日精品译文推荐
作者: Katherine Reynolds Lewis  来源:财富中文网. 版权声明:本文内容版权属于时代公司(Time Inc.),并经过时代公司许可由香港中询有限公司出版和发布. 版权所有,未经书面许可,任何机构不得全部或部分转载.   高管培训师特里•R•培根曾经历过让人痛苦的面试过程. 但有时,表现一塌糊涂的反倒是面试官,而不是求职者.

面试中必须问的七个问题

- - 译言-投资/理财/创业
当谈到面试时需要问的问题时,确实没什么灵丹妙药,但是怎么样组织问题确实很重要的. 主持面试的人的工作就是为即将到来的讨论建立一套框架和标准,以避免讨论漫无目的. 当然每个公司的需求都不一样,但是一个好的基本的策略就是能在面试中尽可能的提出一些能表现应聘者过往工作表现的一些问题. 然后再抛出一些情景化的问题以便于考察实际的决策能力,最后再稍微了解一下这个职位是不是和候选人的个人经历相匹配.

前端工程师面试问题列表

- - 博客 - 伯乐在线
前言:@ darcyclarke 在 GitHub 上分享了一个 repo,其中包括了不少前端面试问题,可用于检验潜在的候选人. 绝不推荐在单个候选人身上用上所用的问题(那样会花费好几个小时滴). 从这个列表选择一些,应该能从候选人身上,检测出你所需要的技能. 请记住,下面的很多问题都是开放式的,无标准答案,并能引发有趣的讨论.

产品经理面试会遇到的几种问题

- - 互联网的一些事-关注互联网产品管理,交流产品设计、用户体验心得
  年后的这段时间一直是跳槽的高峰期,有离职的就有招聘的,所以也是招聘的旺季. 相信每个人都会有找工作的经历,最近跟几个正在找工作的朋友聊天了解了一下大家找工作的一些情况,在这里就根据自身和了解的情况说一下产品人员在面试的过程中会遇到的几种问题.   由于这个行业已经把产品经理这个词说烂了,所以我在标题中用产品经理泛指产品经理、产品专员、产品助理、产品设计师等所有做产品的工种.