阿里面试题!36匹马,6条跑道:谁是前三名?

问题描述:

有36匹马和6条跑道,没有计时器,如何用最少的比赛次数找出最快的三匹马?

解决思路

  1. 分组比赛:将36匹马分成6组,每组6匹,进行6场比赛,记录每组的名次。
  2. 选出各组第一名:让每组的第一名进行第7场比赛,确定所有马中最快的马。
  3. 排除明显较慢的马:根据第7场比赛的结果,排除不可能进入前三的马。
  4. 确定第二和第三名:让可能进入前三的马进行第8场比赛,最终确定第二和第三名。

详细步骤

  1. 分组比赛:将36匹马分成6组,每组6匹,分别进行比赛,记录每组的名次。例如,组A:A1, A2, A3, A4, A5, A6;组B:B1, B2, B3, B4, B5, B6;依此类推。
  2. 选出各组第一名:让每组的第一名(A1, B1, C1, D1, E1, F1)进行第7场比赛。假设比赛结果为A1 > B1 > C1 > D1 > E1 > F1,则A1是所有马中最快的。
  3. 排除明显较慢的马:根据第7场比赛的结果,可以排除以下马:所有组中排名第四及以后的马(如A4, A5, A6, B4, B5, B6等)。第7场比赛中排名第三及以后的组中的所有马(如D1, E1, F1及其组内的马)。
  4. 确定第二和第三名:可能进入前三的马包括:A2, A3(A1组的第二和第三)。B1, B2(B1组的第二)。C1(C1组的第一)。让这些马进行第8场比赛,确定第二和第三名。

最少比赛次数

通过上述步骤,最少需要 8场比赛 来确定36匹马中最快的前三名。

总结

  • 分组比赛:6场。
  • 选出各组第一名:1场。
  • 确定第二和第三名:1场。
  • 总比赛次数:8场。

这种方法通过逐步排除明显较慢的马,减少了比赛次数,同时确保找到最快的前三名。

#春招##秋招#
全部评论

相关推荐

07-09 19:25
门头沟学院 Java
这是要把每一个投校招的都开盒吗?
码农索隆:隐私这一块,直接是毫无隐藏😅
点赞 评论 收藏
分享
程序员小白条:这比例牛逼,750:1
点赞 评论 收藏
分享
07-07 12:47
门头沟学院 Java
码农索隆:竟然还真有卡体检报告的
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
今天 12:31
以前小时候我最痛恨出轨、偷情的人,无论男女,为什么会出轨?现在我成了自己最讨厌的人,没想到分享的东西在牛客会被这么多人看,大家的评价都很中肯,我也认同,想过一一回复,但我还是收声了,我想我应该说说这件事,这件事一直压在我心里,是个很大的心结,上面说了人为什么出轨,我大概能明白了。我们大一下半年开始恋爱,开始恋爱,我给出了我铭记3年的承诺,我对她好一辈子,我永远不会背叛,我责任心太重,我觉得跟了我,我就要照顾她一辈子,我们在一起3年我都没有碰过她,她说往东我就往东,她说什么我做什么,她要我干什么,我就干什么!在学校很美好,中途也出过一些小插曲,比如男闺蜜、男闺蜜2号等等等。但我都强迫她改掉了,我...
牛客刘北:两个缺爱的人是没有办法好好在一起的,但世界上哪有什么是非对错?你后悔你们在一起了,但是刚刚在一起的美好也是真的呀,因为其他人的出现,你开始想要了最开始的自己,你的确对不起自己,21岁的你望高物远,你完全可以不谈恋爱,去过你想要的生活,你向往自由,在一起之后,你要想的不是一个人,而是两个人,你不是变心了,就像你说的,你受够了,你不想包容了,冷静几天是你最优的选择,爱人先爱己。
社会教会你的第一课
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务