基本想法:
假设马被编号1~8,第一轮,先让1~4号马跑,第二轮,再让5~8号马跑,分别得到两次的前三名(假设编号为1-3和5-7的马赢得了比赛,并且排名和它们的编号对应,因为第四名不可能是所有马当中的前三名,所以舍弃),这样得到了6匹马(1-3,5-7),再下来,第三轮,让1,2, 5,6四匹马跑,结果次序只有下面几种情况:
1 2 5 6 ……①
1 5 2 6……②
1 5 6 2……③
5 6 1 2……④
5 1 2 6……⑤
5 1 6 2……⑥
ok!
对于①,再让3号马与5号马跑一次,胜者为即为第三名,所以,前三名为1,2,3或者1,2, 5
对于②,不用再比了,前三名即为1,5,2
对于③,1,5,6为前三名
对于④,再让1号马与7号马跑一次,胜者为即为第三名,所以,前三名为5,6,1或者5,6,7
对于⑤,⑥,前三名分别为5,1,2和5,1, 6
总结会发现,①、④在第三轮结束后的排名是按照各自在第一轮和第二轮排名次序紧紧挨着的,并没有相互交叉,这时,需要再做一次比较!
写到这里,我突然发现有一种更简单的方法:
假设跑道足够长,不影响马的冲刺!
就是让4匹马从起点跑,另外4匹马从终点,相向而跑,人只需站在跑道的中点处,记录下前三个到来的马,便是前三名!
不知此想法有没有漏洞,欢迎交流!
转载请注明出处!