A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王丽 黑马帝   /  2011-7-27 12:57  /  1820 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

n支队伍比赛,分别编号为0,1,2。。。。n-1,已知它们之间的实力对比关系,存储在一个二维数组w[n][n]中,w[j] 的值代表编号为i,j的队伍中更强的一支 所以w[j]=i 或者j,现在给出它们的出场顺序,并存储在数组order[n]中,
比如order[n] = {4,3,5,8,1......},那么第一轮比赛就是 4对3, 5对8。。。。。。
胜者晋级,败者淘汰,同一轮淘汰的所有队伍排名不再细分,即可以随便排,
下一轮由上一轮的胜者按照顺序,再依次两两比,比如可能是4对5,直至出现第一名
编程实现,给出二维数组w,一维数组order 和 用于输出比赛名次的数组result[n],求出result
这个题,我看得就头疼,请大家给个思路吧。。。

3 个回复

倒序浏览
不难吧…
二维数组中是不变的,相当于是查表
对一维数组排序(胜利的放前面,失败的放后面)递归完后第一位的就是冠军. 手机敲代码费劲呐
回复 使用道具 举报
黑马网友  发表于 2011-7-29 04:42:22
藤椅

感谢

题确实很难,很感谢大家的的帮忙
回复 使用道具 举报

回复 楼主 的帖子

算法的话可以买一本清华大学出版社出的C语言程序设计和C语言版的数据结构看看。。。
[ 本帖最后由 黑马-胡占朝 于 2011-07-29  12:35 编辑 ]
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马