64匹马8个跑道问题
来源:互联网 发布:安卓流程图软件 编辑:程序博客网 时间:2024/04/28 13:04
64匹马,8个跑道,假设马发挥稳定且没有体力问题,需要多少场可以决出所有名次(前4名/前8名)?
方法一:归并方法,49场
1). 把64匹马分成8组,先把每组排个序,共8场比赛。
2). 把这8组8匹马两两合并为4组16匹马的有序组,每次合并需要3场比赛。总共需要4次合并,总共需要赛 12 场;
- 这里就是本题的关键所在:从其中任意选出两组,合并后的前4名肯定在两组的前4名这8匹马里,这8匹比一场就把两组的前4比出来了;对剩下的12马采取同样的策略,各取前4名,然后通过一场比赛决出整合后序列的5-8名,最后还剩8匹马,再为这8匹赛一次,这就是最后8名了。
3). 把4组16匹马再两两合并为2组32匹马,每次合并需要7场比赛。总共需要2次合并,总共需要赛 14 场。
- 方法同上,实际上可以证明,两组有序的8k匹马合并成一组16k匹马,需要16k/4-1 =
4k-1场比赛。(之前每场比赛决出靠前的4名,最后一场比赛一次决出最后的8名)
4). 把2组合并成1组,需要15场比赛。
这样的话,一共就是 8+4*3+2*7+1*15=49场比赛。
方法二:另一牛逼解答,37场。
先随意将马排成8*8阵型:
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
1、每一行赛一场,共八场。由对称性,不妨设每一行都是从左到右速度依次减慢。即01,09,17,25,33,41,49,57是八场的冠军。
2、下面说明,之后每4场总可以决出8个名次。
(1)各组冠军赛一场,(2)各组垫底赛一场,共两场,决出了第一名、第六十四名。且不妨设第一列各马速度由上至下依次变慢。即01是总冠军。
(3)现在,总第二名有两匹马候选,02,09。让02,09,10,17四匹马参与第三场。第三场另四匹呢?它们是有类似情况的最慢的几匹马。例如如果64是最慢的,第八列由快到慢依次是08,16,24,32,40,48,56,64,那么,让56,63,55,48四匹马参与第三场。由第三场的结果,总可以知道总第二、第六十三名。
下面说明,不管02,09,10,17赛得的结果如何,总第三、四名的候选马不会超过四匹。
若02获胜,那么总第三、四名的候选马只有03,04,09,以及10和17两匹中较快的一匹(这两匹已经赛过)
若09获胜,那么第三名实际上已经知道了,是02、10或17中较快的一匹。若是02,则第四名候选马是03,10,17。若是10,则第四名候选马是02,11,17。若是17,则第四名候选马是02,10,18,25。
于是,总第三、四名的候选马不会超过四匹。同理,总第六十二、六十一名的候选马也不会超过四匹。
(4)将上述总第三、四名的候选马、总第六十二、六十一名的候选马至多不超过八匹,赛一场,于是至此已经决出了前四名后四名共八个名次。
- 不断重复上述过程,直至7个4场后决出了56个名次。
3、最后还剩8个名次,用一场解决。
总计:8+4*7+1=37场。
- 64匹马8个跑道问题
- 25匹马5个跑道问题
- 16匹马4个跑道选取前四名的思考
- 赛马比赛--25匹马5个跑道,怎样选出最快的5匹来
- 25匹马,5个跑道,每个跑道最多能有5匹马进行比赛,最少比多少次能比出前3名?前5名?
- 25匹马,5个跑道,不用外界工具怎样选出最快的5匹,要次数最短
- 25匹马,5个跑道,最少需要比赛多少场就能决出前三名
- 25匹马,5个跑道,每次只能5匹马跑,问最少几次得到跑的最快的3匹马
- 25匹马,5个跑道,最少比多少次能比出前3名?前5名?
- 阿里巴巴面试算法题目:25匹赛马,5个跑道,也就是说每次有5匹马可以同时比赛。问最少比赛多少次可以知道跑得最快的5匹马
- 阿里巴巴面试算法题目:25匹赛马,5个跑道,也就是说每次有5匹马可以同时比赛。问最少比赛多少次可以知道跑得最快的5匹马
- 笔试面试题:25匹赛马,5个跑道,每次有5匹马可以同时比赛。问最少比赛多少次可以知道跑得最快的5匹马
- 有64匹赛马,有8个跑道可以利用,赛马的速度是恒定的,不计时但记录每次比赛的名词,请问赛几次可以取得速度排名前四的赛马?
- 25匹马问题
- 25匹马问题
- 25匹马问题
- 25匹马,跑道一次可以有5匹马比赛,至少需要多少次比赛,可以计算出前5名
- 25匹马的问题
- Linux文件系统简介
- 调用异步服务时的超时处理
- 完全教程 Aircrack-ng
- 第三方开源库收集整理,你会用的到的
- DT梦工厂 第27讲 Type,Array,List,Tuple模式匹配实战解析
- 64匹马8个跑道问题
- bins的财富之路-序章
- ubuntu 14.04英文版安装中文输入法Sunpinyin
- nutch,hbase记录
- Android-Service(系统服务概述 和 桌面浮悬窗,进程管理 等 实例)
- Android Studio中引用.so文件的正确位置
- BUG:eclipse SVN不显示Repository和git不匹配repository
- HDU1010 Tempter of the Bone (DFS)
- 关于《门前》的解析