您的位置:首页 > 其它

38头牛中选出3头跑得最快的,使用一个每次只能供6头比赛的场地,要求用最快的方法。

2013-09-06 11:30 162 查看
这是华为笔试的一道题目,我的答案是至少9次,分析如下,如果有误麻烦纠正。

38头牛分六组:G11、G12、G13、G14、G15、G16;每组六头,最后还剩2头未参加比赛;

第一轮比赛:以上六组各比一次,然后各组排名;各组最快的排在前面,如G11[0]表示G11组的第一名,G11[1]表示第二名,依此类推;(已经进行了6次比赛)

第二轮比赛:1、取各组的第一名G11[0]、G12[0]、G13[0]、G14[0]、G15[0]、G16[0],进行比赛;(进行一次比较)

2、决出前三名:假设是G1i[0]、G1j[0]、G1k[0];(1<i、j、k<6);

3、取G1i组的前三名,G1j组的前两名,G1k组的第一名(即G1k[0]),外加为参赛的两头;总共3+2+1+2=8;(前三名必定在其中,应该很容易想得明白)

第三轮比赛:其实,G1i组的第一名必定是前三名,所以只需要在剩下的7头中赛出前两名即可 ,但是无论剩下的是8头还是7头,至少都要进行两次比赛,才能决出前三名,所以 第三轮要进行两次比赛(需要进行两次比赛)

综上所述:至少要进行:6+1+2=9,九次比赛;

以上只是我能想到的最少的比较次数,至于是不是最优的,还需要数学证明;欢迎各位朋友给出最少次数的数学证明。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐