25匹马,跑道一次可以有5匹马比赛,至少需要多少次比赛,可以计算出前5名
2009-10-28 10:40
537 查看
昨天在一个QQ群里边见到这个题目,初看好像一两年以前就被人问过这个问题了,于是直接答了是7次,答完之后才发现,原来以前遇到的那个题目是要求找出前3名,而这回是要求找出前5名,题目有点不同了,后来想了一下,应该是8次比赛可以出来,不过最开始的时候想的比赛方法是错的,虽然最后还是想出了只比赛8次的方法,下面说明一下这个比法:
1. 前6次比赛是比较容易想到的,把25匹马分成5组,每组比赛排出一个名次,然后再把每组的第一名拿出来比赛一次,得出这5匹马的排名,于是可以得到如下一个名次表;
A F J M O
B G K N
C H L
D I
E
其中名次排名为A>B>C>D>E, F>G>H>I, J>K>L, M>N, A>F>J>M>O;
2. 第7次比赛,让CGJKM进行比赛,得出一个排名,这个排名中,第一名一定是CGJ中的某一个,先来考虑一下第一名的情况
2.1 C第一名,此种情况最简单,由于C>G, C>J, 可以得出,后面四列的四组中只有F可能比C快,所以C一定在25匹马的前四名之中,由此可以确定,ABC最快的5匹马之中的3匹,下一次让DEFGJ比赛一次得出另外两匹最快的马就可以了(其实此次只需要DEF与GJ中较快的一匹共4匹比赛得出最快的两匹就可以了);
2.2 G是第一名,此时,G>C, G>J, 而F>G,所以BC中只有B可能比F,G快,由此可以确定,AFG是最快的5匹马之中的3匹,但是还需要分第二名是C或者J来讨论;
2.2.1 G是第一名,C是第二名,此时C>J,而B>C,从而可以知道KM不可能在前5名之列,再让BCHIJ比赛一次得到另外两匹最快的马就可以了;
2.2.2 G是第一名,J是第二名,此时J>C,由于B>C,可以知道C不可能在前5名之列,再让BHIJ以及KM中较快的一匹参加比赛(KM中较快的一名此次已经确定了的)得到另外两匹最快的马就可以了;
2.3 J是第一名,此时,J>C, J>G,只有B可能比J快,可以确定AFJ是最快的5匹马之中的3匹,再分第二名是C或者G来讨论;
2.3.1 J是第一名,C是第二名,此时B>C>G,所以G不可能在最快的5匹马之列,由于C>K,C>M,从而B>K,B>M,所以BC是另外两匹最快的马之一,此种新情况不需要进行第8次比赛,7次比赛就得到了最快的5匹马;
2.3.2 J是第一名,G是第二名,此时G>C,G>K,G>M,G>H,除AFJ之外,只有B可能比G快,所以G一定是最快的5匹马之一,下一次让BH与KM中较快的一匹这三匹马比赛一次得到最快的一匹就可以了;
2.3.3 J是第一名,K是第二名,此时,K>C,C>G,K>M,最AFJ之外,只有B可能比K快,所以K一定是最快的5匹之一,下一次让BGLM比赛得出最快的一名即可;
2.3.4 J是第一名,M是第二名,此时,M>C,M>G,M>K,除AFJ之外,只有B可能比M快,所以M一定是最快的5匹之一,下一次让BGONK比赛得出最快的一名即可;
根据以上的分析,最多8次比赛,就可以确定出最快的5匹马了。
以上的第7次比赛,如果再详细一些分析比赛流程,第8次比赛是有可能可以用更少的马匹来参加比赛的;
1. 前6次比赛是比较容易想到的,把25匹马分成5组,每组比赛排出一个名次,然后再把每组的第一名拿出来比赛一次,得出这5匹马的排名,于是可以得到如下一个名次表;
A F J M O
B G K N
C H L
D I
E
其中名次排名为A>B>C>D>E, F>G>H>I, J>K>L, M>N, A>F>J>M>O;
2. 第7次比赛,让CGJKM进行比赛,得出一个排名,这个排名中,第一名一定是CGJ中的某一个,先来考虑一下第一名的情况
2.1 C第一名,此种情况最简单,由于C>G, C>J, 可以得出,后面四列的四组中只有F可能比C快,所以C一定在25匹马的前四名之中,由此可以确定,ABC最快的5匹马之中的3匹,下一次让DEFGJ比赛一次得出另外两匹最快的马就可以了(其实此次只需要DEF与GJ中较快的一匹共4匹比赛得出最快的两匹就可以了);
2.2 G是第一名,此时,G>C, G>J, 而F>G,所以BC中只有B可能比F,G快,由此可以确定,AFG是最快的5匹马之中的3匹,但是还需要分第二名是C或者J来讨论;
2.2.1 G是第一名,C是第二名,此时C>J,而B>C,从而可以知道KM不可能在前5名之列,再让BCHIJ比赛一次得到另外两匹最快的马就可以了;
2.2.2 G是第一名,J是第二名,此时J>C,由于B>C,可以知道C不可能在前5名之列,再让BHIJ以及KM中较快的一匹参加比赛(KM中较快的一名此次已经确定了的)得到另外两匹最快的马就可以了;
2.3 J是第一名,此时,J>C, J>G,只有B可能比J快,可以确定AFJ是最快的5匹马之中的3匹,再分第二名是C或者G来讨论;
2.3.1 J是第一名,C是第二名,此时B>C>G,所以G不可能在最快的5匹马之列,由于C>K,C>M,从而B>K,B>M,所以BC是另外两匹最快的马之一,此种新情况不需要进行第8次比赛,7次比赛就得到了最快的5匹马;
2.3.2 J是第一名,G是第二名,此时G>C,G>K,G>M,G>H,除AFJ之外,只有B可能比G快,所以G一定是最快的5匹马之一,下一次让BH与KM中较快的一匹这三匹马比赛一次得到最快的一匹就可以了;
2.3.3 J是第一名,K是第二名,此时,K>C,C>G,K>M,最AFJ之外,只有B可能比K快,所以K一定是最快的5匹之一,下一次让BGLM比赛得出最快的一名即可;
2.3.4 J是第一名,M是第二名,此时,M>C,M>G,M>K,除AFJ之外,只有B可能比M快,所以M一定是最快的5匹之一,下一次让BGONK比赛得出最快的一名即可;
根据以上的分析,最多8次比赛,就可以确定出最快的5匹马了。
以上的第7次比赛,如果再详细一些分析比赛流程,第8次比赛是有可能可以用更少的马匹来参加比赛的;
相关文章推荐
- 25匹马5个跑道,每次只能跑5匹,至少需要多少次才能选出最快的前3匹?
- 25匹马,5个跑道,每个跑道最多能有5匹马进行比赛,最少比多少次能比出前3名?前5名?
- 25匹马,找出最快的3匹,但是只有5个赛道,每次比赛只能得到5匹马的速度排序,那么最少需要多少次比赛
- 25匹马,5个跑道,最少比多少次能比出前3名?前5名?
- 笔试面试题:25匹赛马,5个跑道,每次有5匹马可以同时比赛。问最少比赛多少次可以知道跑得最快的5匹马
- 阿里巴巴面试算法题目:25匹赛马,5个跑道,也就是说每次有5匹马可以同时比赛。问最少比赛多少次可以知道跑得最快的5匹马
- 阿里巴巴面试算法题目:25匹赛马,5个跑道,也就是说每次有5匹马可以同时比赛。问最少比赛多少次可以知道跑得最快的5匹马
- 赛马比赛--25匹马5个跑道,怎样选出最快的5匹来
- 25匹马,5个跑道,最少需要比赛多少场就能决出前三名
- 如果要25匹马中选出跑得最快的3匹,每次只有5匹马同时跑,最少要比赛几次?
- 算法:25匹马,5个跑道,每次只能跑5匹,用最少的次数选出最快的前3匹
- 36匹马赛跑,跑道同时只能容许6匹马。而且36匹马速度不同,但是每次跑的速度恒定。 问跑多少次可以选出第一,第二,第三名?
- 马场上只有5条跑道,欲从25匹马中选出3匹最快的,求最少比赛次数
- 25匹马,5个跑道,最少比多少次能比出前3名
- 25匹马,5个跑道,每次只能5匹马跑,问最少几次得到跑的最快的3匹马
- 25匹马通过赛跑来决出前三名,每轮最多5匹马参赛,求最少需要几轮?
- 在25匹马中,挑出速度最快的3匹。每场比赛只能有5马一起跑。所需要的最少比赛次数是多少(不用计时器)?
- 25匹马最少多少次可以选出前3
- 一次数学比赛,共有A,B和C三道题目。所有人都至少解答出一道题目,总共有25人----网易游戏笔试题
- 25匹马,5个跑道,不用外界工具怎样选出最快的5匹,要次数最短