题目描述:
25匹马,找出最快的3匹,但是只有5个赛道,也就是说每次比赛只能得到5匹马的速度排序,那么最少需要多少次比赛?
答案:7
分析:
25匹马我们用25个数字表示,数字越大表示速度越快。
首先,把25匹马分为5个组,赛5场,得出每一组的排名。
现在可以得到一个5*5的矩阵,其中每行都是递减的。
现在每行的四五列,是无效答案,不可能进入前三名。
第6场:把上述5个组的第一名A1 B1 C1 D1 E1 拿出来比较。
根据每组的第一名的名次,我们把行的顺序再排序。
现在我们现在可以得到一个A1>B1>C1>D1>E1的5*5矩阵,并且每行内还是递减的。
现在可以说A1 B1 C1就是答案吗?不可以,因为前三可能在一个组内,如A1 A2 A3
但是可以肯定的是,所以D组和E组是全部淘汰的,不可能进入前三。
因为A1是和所有组的第一比较出来的,所以可以确定A1是最快的。
再进一步思考,C2可能是答案吗? A1>B1>C1>C2,显然C2也不可能进去前三,同理B3 C3也不可能进入前三。
最终,还有A2 A3 B1 B2 C1 五匹马没有确定顺序,再加赛一场,也就是第7场,即可取出前两名,作为所有马中的第二三名。
所以共需要7次比赛。
总结:
在第6场结束之后,我们通过矩阵的特点,排除了很多多余的答案,对求取正确答案非常有帮助。