频道栏目
IT货架 > > 正文
求比赛名次【微软面试100题第三十六题】«
网友分享于:Jun 12, 2018 11:44:31 PM    来源: IT货架   

题目要求:

  n支队伍比赛,分别编号为0,1,2,...,n-1,已知它们之间的实力对比关系存储在一个二维数组w[n][n]中,w[i][j]的值代表编号为i,j的队伍中更强的一支,所以w[i][j] = i或者j.

  现在给出它们的出场顺序,并存储在数组order[n]中,比如order[n] = {4,3,5,8,1......},那么第一轮比赛就是4对3,5对8.胜者晋级,败者淘汰,同一轮淘汰的所有队伍排名不再细分,即可以随便排,下一轮由上一轮的胜者按照顺序,再一次两两比,比如可能是4对5,直至出现第一名。

  编程实现,给出二维数组w,一维数组order和用于输出比赛名次的数组result[n],求result.

题目分析:

  假设出场次序为:1 3 4 2 0 5,实力图和过程讲解如下图:

代码实现:

 


广告服务联系QQ:1134687142 | 网站地图

版权所有: IT货架- 内容来自互联网,仅供用于技术学习,请遵循相关法律法规. 京ICP备11030978号-1