全部博文(173)
分类: Delphi
2012-04-23 15:46:26
25匹赛马,5个跑道,也就是说每次有5匹马可以同时比赛。问最少比赛多少次可以知道跑得最快的5匹马
前5次大家都一样,排序后如下
A1,A2,A3,A4,A5
B1,B2,B3,B4,B5
C1,C2,C3,C4,C5
D1,D2,D3,D4,D5
E1,E2,E3,E4,E5
第六次,最大值比较,找出最快的马
第7次参加比赛的马匹为
A2 A3 B2 C2 D1
下面就3种第7次可能的比赛结果进行分析:
1、若第7次的比赛可能的一种结果为:
A2 A3 B2 C2 D1
此时必进入前5的是A1、A2、A3
可能进前5的是A4、A5、B1、B2、C1
则第8次为
A4、A5、B1、B2、C1
取前2名,与A1、A2、A3一直即为前5
2、若第7比赛结果为B2、A2、C2、A3、D1
此时必进入前5的是A1、B1、B2
可能进入前5的是A2、B3、B4、C1
第8次只要让这4匹马参赛就可以啦
3、若第7次比赛结果为D1、C2、A2、A3、B1
此时必进入前5的是A1、B1、C1、D1
而剩下的第5匹马只可能出现在C2、D2、E1这3匹马中,自然,让这3匹马参加第8次比赛就可以啦
总之,不管第7次的比赛结果如何,都在第8次比赛中做出适当的安排,即而可以在8次比赛后确定跑得最快的前5匹马。
问题大致是这样的:有36匹马,通过赛马寻找出最快的3匹。跑道可容纳6匹马同时赛跑,请问最快需要几次赛马可以找到最快的3匹马?