25匹马,找出最快的3匹,但是只有5个赛道,每次比赛只能得到5匹马的速度排序,那么最少需要多少次比赛
筆試題:25匹馬,找出最快的3匹,但是只有5個賽道,每次比賽只能得到5匹馬的速度排序,那么最少需要多少次比賽
在網上搜了下答案,好像不靠譜。
最后在英文網站上找到正確的答案:? 次
參考:http://www.programmerinterview.com/index.php/puzzles/25-horses-3-fastest-5-races-puzzle/
1-5 場:
將25匹馬分為5組,每組5匹,得到下面的排序,每組最快的馬在左側,即X1、X6、X11、X16、X21分別是每組中最快的。
組1:X1 ?X2 ?X3 ?X4 ?X5?
組2:X6 ?X7 ?X8 ?X9 ?X10?
組3:X11 X12 X13 X14 X15?
組4:X16 X17 X18 X19 X20?
組5:X21 X22 X23 X24 X25?
但是,現在還不能說最快的3匹馬在X1、X6、X11、X16、X21中,因為有可能最快的3匹馬全部分在第一組中,即有可能出現X2比X6快。
但是我們肯定可以知道,每組的最后2名肯定不會是最快的3匹馬,那么排除X4、X5;X9、X10;X14、X15;X19、X20;X24、X25;
第6場:
X1 ?X2 ?X3 ?
X6 ?X7 ?X8?
X11 X12 X13?
X16 X17 X18?
X21 X22 X23?
參賽的為每組的第1名:X1、X6、X11、X16、X21,假設速度排序為X1、X6、X11、X16、X21。
那么我們可以知道,X16、X21及其后面的X17、X18;X22、X23均不可能是最快的3匹馬。
第7場:
X1 ?X2 ?X3 ?
X6 ?X7 ?X8?
X11 X12 X13?
目前,我們可以知道,X1是25匹馬中最快的,但是X2、X6、X3、X7、X11之間的速度還不確定,需要再一次比賽,而X8、X12、X13不可能是最快的前3名。
參賽的為:X2、X6、X3、X7、X11,速度最快的2匹加上X1構成最快的3匹馬。
因此一共需要7次比賽。
總結
以上是生活随笔為你收集整理的25匹马,找出最快的3匹,但是只有5个赛道,每次比赛只能得到5匹马的速度排序,那么最少需要多少次比赛的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 低版本ulibc支持recvmmsg s
- 下一篇: 给年份year,定义一个宏,以判别该年份