[360笔试题]赛马

这是一道360的在线笔试题:

赛马,有25匹马,每次只能5匹马进行比赛,比赛只能得到5匹马之间的快慢程度,而不是速度,请问,最少要比多少次,才能获得最快的前3匹马?

解答:这道题乍一看,第一感觉就是肯定要分组,5个一组分成5组,然后比赛,得到每组的组冠军。然后让5个组冠军比赛得到前三名,似乎这样就可以了,这也是我的第一反应。

但是这是一套错误的方案,有可能有这样的分组,那就是第一组的5匹马是实力最强的,这种情况就得到不前三名。于是还要加赛一场,注意只取前三名。

最终答案要经过三步:

1.把25匹马分成5组,每组5匹马,这样经过五场比赛得到每组的组冠军。
2.进行第六场比赛,让前面得到的每组的组冠军比一次。淘汰最后两名,同时也淘汰了最后两名所在的组,他们组的任何马都不可能进入前三了
3.进行第七场比赛,到目前为止,可以确定的是第六场的冠军就是全部马的第一名,所以还需要选剩下的两个名额。剩下的另个名额的候选对象是:
冠军组的第二、第三名(正好牛逼的马都分到了这一组)
亚军组的第一、第二名(冠军组的二三名不厉害,但是亚军组的第二名也很厉害)
季军组的第一名(因为它前面有一个亚军,所以如果前三来自季军组,一定是它)
所以最后的一场,也就是第七场的比赛对象是:冠军组的第二三名,亚军组的第一二名,季军组的第一名。从这场比赛中选出两匹马。
最后加上第六场的冠军,就得到了所有马的前三名。

  

时间: 2024-11-07 22:35:30

[360笔试题]赛马的相关文章

[算法]滴滴笔试题——赛马问题

问: 25匹马,5个跑道,每个跑道最多能有1匹马进行比赛,最少比多少次能比出前3名? 答: 求前3名要7次: 将马分成A.B.C.D.E五组. 第1-5次比赛:各组分别进行比赛,决出各组名次,取每组前三名 A1.A2.A3, B1.B2.B3, C1.C2.C3, D1.D2.D3, E1.E2.E3. 第6次比赛:A1.B1.C1.D1.E1, 假设得到的结果是A1.B1.C1.D1.E1,A1是跑的最快的,那么分析A组A2.A3还有希望冲进前3,B组呢?只有B2还有希望冲进前3,C组的C1,

<转>2016暑假实习360笔试题

编程题一: 小B最近迷上了字符串处理技术,他设计了各种处理方式,并计算字符串的属性.这次也不例外,他定义了一种新的字符置换方式.小B研究的字符串由ASCII码字母和“.”构成,这次的研究对象是“.”.他关心的对象是字符串中出现的连续两个“.”.若每次操作把其中最开始的连续两个“.”以一个“”替代,则可以将函数f(s) 定义为使得串中不出现连续两个“.”的最小置换次数. 现考虑m个字符替换操作,每次将指定位置的字符替换为给定的字符,求替换后函数f(s)的值. 输入有若干组,每组的第一行为两个整数n

360笔试题

有一个城市需要修建,给你N个民居的坐标X,Y,问把这么多民居全都包进城市的话,城市所需最小面积是多少(注意,城市为平行于坐标轴的正方形) 输入描述: 第一行为N,表示民居数目(2≤N≤1000) 输出描述: 城市所需最小面积 输入例子1: 2 0 0 2 2 输出例子1: 4 输入例子2: 2 0 0 0 3 输出例子2: 9 # -*- coding:utf-8 -*- import sys n=int(sys.stdin.readline().strip().split()[0]) x_zh

<转>网易2016实习生前端笔试题部分总结

网易2016实习生前端笔试题部分总结 原文地址:http://www.cnblogs.com/venoral/p/5325202.html 这只是部分题,答案为个人观点如有错误欢迎指出,感觉考点都挺基础,但是很注重考细节方面,通过整理也知道自己在CSS3和HTML5,网络知识等方面的不足还是得多学多练多思考.攒rp,希望自己在明天360笔试中能轻松答过~ css 1.多选 //HTML <p>很长的一段文字,很长的一段文字,很长的一段文字,特别长的文字</p> //CSS p{ w

搜狗2015C++工程师笔试题解题分析

试卷链接:搜狗2015 C++工程师笔试题. 1.假设整数0x12345678 存放在内存地址0x0开始的连续四个字节中 (即地址0x0到 0x3). 那么在以Little Endian字节序存储的memory中,地址0x3的地方存放的字节是: 0x12 0x34 0x56 0x78 分析:选D.小端法和大端法. a) Little-Endian就是低位字节排放在内存的低地址端, 高位字节排放在内存的高地址端. b) Big-Endian就是高位字节排放在内存的低地址端,低位字节排放在内存的高地

2015.8.29某高级企业的在线笔试题

收集了今年阿里的在线笔试题,贴出来供需要的朋友参考. 1.下面的函数中哪个是系统调用而不是库函数______?printfscanffgetcreadprint_sscan_s 2.某足球队有四名外援,分别来自巴西.荷兰.意大利和美国.他们分别擅长前锋.后卫或守门,其中:① 美国外援单独擅长守门:② 意大利外援不擅长前锋:③ 巴西外援和另外某个外援擅长相同的位置:④ 荷兰外援擅长的位置和巴西外援不同.以上条件可以推出巴西外援擅长的位置是______.前锋守门后卫前锋或守门后卫或守门前锋或后卫 3

2015年阿里巴巴校招研发工程师在线笔试题汇总

在线笔试题汇总 卷一: 1.下面的函数中哪个是系统调用而不是库函数______? printf scanf fgetc read print_s scan_s 2.某足球队有四名外援,分别来自巴西.荷兰.意大利和美国.他们分别擅长前锋.后卫或守门,其中: ① 美国外援单独擅长守门: ② 意大利外援不擅长前锋: ③ 巴西外援和另外某个外援擅长相同的位置: ④ 荷兰外援擅长的位置和巴西外援不同. 以上条件可以推出巴西外援擅长的位置是______. 前锋 守门 后卫 前锋或守门 后卫或守门 前锋或后卫

趋势科技2014年暑期实习生笔试题

题目: 有81匹赛马,9个赛道可以利用,每匹赛马的速度是恒定的,不计时但记录每场的名次,请问,赛几次可以得到前5名? 解答: 首先把81匹马分为9组,赛九场,然后把每场的第一名拿出来(刚好9匹),赛一场,得到前五名所在的组(后四名的组果断排除).此时可以确定第一名.然后在第一名的组中抽取2-5名(共四匹马),在第二名的组中抽取2-4名(共三匹马),在第三名的组中抽取2-3(共两匹马),在第四名的组中抽取第2名(共一匹马),此时剩下的马匹有(4+3+2+1+4=14匹),取14中的9匹赛一场,得到

2014.3.29阿里巴巴暑期实习笔试题分析

参考:http://blog.csdn.net/iloveyoujelly/article/details/22941531 下面中的[分析]是我给出的. 2014.3.29阿里巴巴暑期实习笔试题分析 一.单选 1.假设一个主机ip为192.168.5.121,子网掩码为255.255.255.248,则该主机的网络号部分(包括子网号部分)为-- A.192.168.5.12  B 192.168.5.121   C 192.168.5.120   D 192.168.5.32 参考答案 C [