一、故事背景
事情是这样的:
传说中,一群拥有枯燥生活的人们,来参加一场跑步比赛,当然,不是他们自己跑,他们每个人带着他们的马,一共64个人,带来了
64匹马
,但是这个比赛方很奇怪,忘记准备秒表等计时工具了,此时比赛方就很焦急啊,急忙找现场的高手帮忙出谋划策,比赛方给出的限制是:“跑道每次只允许8匹马
同时比(因为只有8条跑道
)”,问怎么决出跑的最快的4匹马?同时,为了把握比赛的时长,还需要知道最多要跑几次才能决出前4名?
二、分析
1、第一轮(8场)
先把64匹马随机分为8组并标记组别,总共比8场,并同时记录每组中各马的名次。直接剔除掉每组的后4匹马(因为每组后4匹马不可能是top4),剩下32匹马待定。
有没有人有疑问,为什么可以直接剔除每组的后4匹马?为什么每组后4匹马不可能是top4?
因为我们的目的就是找出前4名,我们就简单按字面理解,它都在后4位了,肯定直接一把梭,把它们剔除掉就行了。
此时就剩下32匹马待定。
2、第二轮(1场)
现在还是有8组,每组就剩下4匹马,选出每组第1的马比一场,记录结果,按名次记录排序(最强为A1
,其次B1
、C1
、D1
、E1
…),选出前4组(A
、B
、C
、D
)
为什么选出前4组?