昨天参加暴风影音的校招笔试,选择题和编程题
选择题中的一道题是这样的:
有25匹马,5条赛道,一匹马一条赛道,无法为每匹马计时,每一场比赛只能知道5匹马的相对快慢,求决胜出前5名至少需要多少场比赛,
题目分析:
题目分析,解体的关键思路体现在前面的比赛可以为后面的马的优先级排序,先分成5组,每组5匹马,5场比赛可以确定每一组的优先级,6场比赛就可以确定5个组之间的排列,可以得到一张表(体现优先级),如下:
a1,a2,a3,a4,a5
b1,b2,b3,b4,b5
c1,c2,c3,c4,c5
d1,d2,d3,d4,d5
e1,e2,e3,e4,e5
这张表可以得到a1是25匹马中最快的,同时排除b5,c4,c5,d3,d4,d5,e2,e3,e4,e5
得到新的表格(优先级排序)
a1,a2,a3,a4,a5
b1,b2,b3,b4,
c1,c2,c3
d1,d2,
e1,
接下来可以分析出有可能成为2,3名的马为a2,a3, b1,b2, c1,即第7场比赛就可以决胜出2,3名,我们再确定4,5名的马,
由于第7场比赛中我们可以给a2,a2,b1,b2,c1排序,这5匹马中的第5名包括表格中优先级低于第5名的都可以被淘汰,第五名可能是a3,b2,c1,接下来就有3中分析的情况,
(1)当第5名是c1时,
淘汰后还剩下的马匹为
a1,a2,a3,a4,a5
b1,b2,b3,b4,
排除a1为第一名a2,a3,b1,b2中的两名为2,3名外,还剩下6匹马,在这6匹马中选出前两名为4,5名,6匹马中还可以得到第7场比赛中3,4名的两匹马的优先级,第7场比赛的第4名可能是a3orb2,可以淘汰两匹马,在剩下4匹马中进行第8场比赛可以选出前两名为4,5名
总共8场比赛
(2)当第5名是a3时,
新的表格为
a1,a2,
b1,b2,b3,b4
c1,c2,c3,
d1,d2,
e1
第7场比赛的第4名是b2orc1,如果是b2能排除b3,b4,在这些马匹中去掉1,2,3名还剩下7匹,进行第八场比赛选出前两名在和剩下的两匹马进行第9场比赛选出前两名,就是4,5名,
c1继续讨论
总共9场比赛
(3)当第5名是b2时,
新的表格
a1,a2,a3,a4,a5
b1,
c1,c2,c3
d1,d2
d1
和(2)当第五名为a3时讨论类似
总共9场比赛。
选择题中的一道题是这样的:
有25匹马,5条赛道,一匹马一条赛道,无法为每匹马计时,每一场比赛只能知道5匹马的相对快慢,求决胜出前5名至少需要多少场比赛,
题目分析:
题目分析,解体的关键思路体现在前面的比赛可以为后面的马的优先级排序,先分成5组,每组5匹马,5场比赛可以确定每一组的优先级,6场比赛就可以确定5个组之间的排列,可以得到一张表(体现优先级),如下:
a1,a2,a3,a4,a5
b1,b2,b3,b4,b5
c1,c2,c3,c4,c5
d1,d2,d3,d4,d5
e1,e2,e3,e4,e5
这张表可以得到a1是25匹马中最快的,同时排除b5,c4,c5,d3,d4,d5,e2,e3,e4,e5
得到新的表格(优先级排序)
a1,a2,a3,a4,a5
b1,b2,b3,b4,
c1,c2,c3
d1,d2,
e1,
接下来可以分析出有可能成为2,3名的马为a2,a3, b1,b2, c1,即第7场比赛就可以决胜出2,3名,我们再确定4,5名的马,
由于第7场比赛中我们可以给a2,a2,b1,b2,c1排序,这5匹马中的第5名包括表格中优先级低于第5名的都可以被淘汰,第五名可能是a3,b2,c1,接下来就有3中分析的情况,
(1)当第5名是c1时,
淘汰后还剩下的马匹为
a1,a2,a3,a4,a5
b1,b2,b3,b4,
排除a1为第一名a2,a3,b1,b2中的两名为2,3名外,还剩下6匹马,在这6匹马中选出前两名为4,5名,6匹马中还可以得到第7场比赛中3,4名的两匹马的优先级,第7场比赛的第4名可能是a3orb2,可以淘汰两匹马,在剩下4匹马中进行第8场比赛可以选出前两名为4,5名
总共8场比赛
(2)当第5名是a3时,
新的表格为
a1,a2,
b1,b2,b3,b4
c1,c2,c3,
d1,d2,
e1
第7场比赛的第4名是b2orc1,如果是b2能排除b3,b4,在这些马匹中去掉1,2,3名还剩下7匹,进行第八场比赛选出前两名在和剩下的两匹马进行第9场比赛选出前两名,就是4,5名,
c1继续讨论
总共9场比赛
(3)当第5名是b2时,
新的表格
a1,a2,a3,a4,a5
b1,
c1,c2,c3
d1,d2
d1
和(2)当第五名为a3时讨论类似
总共9场比赛。