赛马问题
1. 赛马问题:
一共有25匹马,有一个赛场,赛场有5个赛道,就是说最多同时可以有5匹马一起比赛。假设每匹马都跑的很稳定,不用任何其他工具,只通过马与马之间的比赛,试问,最少得比多少场才能知道跑得最快的5匹马?(不能使用撞大运的算法)
解析:http://hxraid.iteye.com/blog/662643
2. 火车运煤问题:
你是山西的一个煤老板,你在矿区开采了有3000吨煤需要运送到市场上去卖,从你的矿区到市场有1000公里,你手里有一列烧煤的火车,这个火车最多只能装1000吨煤,且其能耗比较大——每一公里需要耗一吨煤。请问,作为一个懂编程的煤老板的你,你会怎么运送才能运最多的煤到集市?
解析:
因为是3000吨的煤总量,所以将路线分割为3段,也就是中间设置两个节点。三段路程分别是x/y/z。 原因如下: 让3000吨货物到第一个节点时能留下2000吨煤, 让2000吨货物到第二个节点时能留下1000吨煤, 这样最后火车可以满载1000吨煤走剩下的最后一段路线,达到运载货物最多的目的。 (总之,每个节点都要有1000整数的煤,以达到最大化,避免零头浪费) 第1个节点公式 公式 3000-5x=2000,得出x=200 第2个节点公式 公式 2000-3y=1000,得出y=333.3循环 则 z=1000-x-y=466.6循环 最后剩余1000-z=533.3循环吨煤 如果是4000吨煤,每次最大运输也是1000吨煤,则分4段路程,设3个节点 总的想法是让火车每次往前运煤都尽量处于满载状态
3. 飞机加油问题:
3架飞机,5架次
4. 两个鸡蛋问题:
楼层扔鸡蛋问题
Google面试题:扔鸡蛋问题
Problem of Two Eggs
5. 过桥问题和倒水问题:
http://blog.csdn.net/morewindows/article/details/7481851