关于淘汰赛的问题,请大家帮忙。

northwolves 2004-05-10 10:26:42
n个选手参加淘汰赛
胜积 2 分,输 0 分,轮空积 2 分
轮空时分最低的轮空
第一轮后分数相同的进行比赛,按由高到低的原则选择对手,无相同分数对手的选手与下一积分的相比
至决出冠军结束。

要求列出各个积分的人数的所有可能。


举例如下:
例1(6人)
A,B,C,D,E,F
1 AB CD EF(A2B0 C2D0 E2F0)
2 AC EB DF(A4C2 E4B0 D2F0)+(A4C2 E2B2 D2F0)
3 AE CD BF(A6E4 C4D2 B2F0)

输出:6(1)4(2)2(2)0(1) ,4(1)2(4)0(1)

例2(7人)
A,B,C,D,E,F,G
1 AB CD EF G(A2B0 C2D0 E2F0 G2)
2 AC EG BD F(A4C2 E4G2 B2D0 F2)
3 AE CG BF D(A6E4 C4G2 B4F2 D2)

输出:6(1)4(3)2(3)


...全文
144 33 打赏 收藏 转发到动态 举报
写回复
用AI写文章
33 条回复
切换为时间正序
请发表友善的回复…
发表回复
recollectpainer 2004-05-13
  • 打赏
  • 举报
回复
>> 楼主

是不是指,不论某人某场输赢情况
均需与参加比赛的其他每一个人比一场?
如总参赛人数为10人,则总比赛场数为 10人取2个的组合 ?
每场比赛规则为总分的奇数位与总分紧随其的偶数位的人做对手
最后在所有比赛完成后计算总积分

-----------------------------------------
是这样理解吗?
qyii 2004-05-12
  • 打赏
  • 举报
回复
Roger that!!
zxhawk 2004-05-12
  • 打赏
  • 举报
回复
想不出来。
up
RUKYO 2004-05-12
  • 打赏
  • 举报
回复
呵呵,定义了8个函数,自己搞定了。


大家接分。
---------------------------------------------------------
牛,能分享下吗?^_^
northwolves 2004-05-12
  • 打赏
  • 举报
回复
呵呵,定义了8个函数,自己搞定了。


大家接分。
northwolves 2004-05-12
  • 打赏
  • 举报
回复
to recollectpainer(忆苦儿) :

楼主,有点不明白哟:

既然是淘汰赛,为什么第一轮比赛的人数和第二轮比赛的人数一样呀?
应该少一些才对呀

---------------------------------------------------------------------
张三第一轮输了,后面10轮都赢了,获冠军的可能都有。
每个人一般都是跟相同积分的人比赛

需要得出全部名次(可以并列),比如511人比赛,最后只有一种可能:

18分; 1个
16分: 9个
14分: 36个
12分: 84个
10分:126个
8 分:126个
6分:84个
4分:36个
2分:9个

510人则有多种可能。
johnyjin 2004-05-12
  • 打赏
  • 举报
回复
up
haorjiang 2004-05-12
  • 打赏
  • 举报
回复
太复杂了
victorycyz 2004-05-12
  • 打赏
  • 举报
回复

是不是还少了一个条件?已捉对比赛过的两人,不再碰头。

随便说一下。还没有想过怎么解答。
cadgood 2004-05-12
  • 打赏
  • 举报
回复
算法问题有点难~
yinweihong 2004-05-12
  • 打赏
  • 举报
回复
那是规则,你可以看出,分数最高的人数总是按2的级数递减的,至为1人止
recollectpainer 2004-05-12
  • 打赏
  • 举报
回复
楼主,有点不明白哟:

既然是淘汰赛,为什么第一轮比赛的人数和第二轮比赛的人数一样呀?
应该少一些才对呀
yinweihong 2004-05-12
  • 打赏
  • 举报
回复
楼主,我只是说说我分析的思路,没别的意思,你看对不,可以的话把你的思路也给我们看看吧! 哪个简略图也是昨天晚上睡觉时候想出来的 差不多吧,没验证的 呵呵
yinweihong 2004-05-12
  • 打赏
  • 举报
回复
我这样分析的,供参考:
-----------|--------------
-----|-------------|------
--|--------|----------|---
-|-----|--------|-------|-
…………
-|…………-……………… |-
每次比赛增加一个分级别,由第2名向后分析每一次得出的结果,级别人数为上一次比赛该等级的一半+下一等级的一半
奇数情形略有差异
分析n 2^i<n<=2^(i+1)
则最多需进行(i+1)次比赛得出冠军,最少需进行(i-1)次
假定出现高积分对低积分比赛高积分输为异常
每个等级分人数应该与异常次数有关
全部异常则由第2名开始向后相对应等级人数是最多的,至人数无剩余为止
全部不异常则由第2名开始向后相对应等级人数最少,至无人剩下为止
yinweihong 2004-05-12
  • 打赏
  • 举报
回复
不好意思,下午上邓论课还分析了一下
包括//////5人情况:(2 种结果)
就是对于奇数个人参加比赛的结论
//////总有一个低分者找不到对手比赛,他总是晋级
这个结论是错的

我想了个通用的解法:
n个人 2^i < n < 2^(i+1) 为2的次方整数倍肯定只有一种情况
最多要进行(i+1)批次比赛 还是我上面那个图

定义一个数组,没进行一次比赛,对赛出结果进行分析一次 当然,可能情况会很复杂
还在考虑中
northwolves 2004-05-12
  • 打赏
  • 举报
回复
to victorycyz(中海) :

是不是还少了一个条件?已捉对比赛过的两人,不再碰头。

随便说一下。还没有想过怎么解答。
--------------------------------------------------

有可能碰头:
ab,cd,ef,gh: a>b,c>d,e>f,g>h--->a2b0c2d0e2f0g2h0
ac,eg,bd,fh: a>c,e<g,b>d,f>h--->a4c2e2g4b2d0f2h0
ag,ef,bc,dh: a>g,e>f,b>c,d>h--->a6g4e4f2b4c2d2h0

6分1个,4分3个,2分3个,0分1个
openforever 2004-05-12
  • 打赏
  • 举报
回复
复杂
northwolves 2004-05-12
  • 打赏
  • 举报
回复
说来其实应该叫积分赛,呵呵
northwolves 2004-05-12
  • 打赏
  • 举报
回复
to yinweihong(yige) :

5人情况:(2 种结果)

a,b,c,d,e
1 a-b c-d e------>a2 b0 c2 d0 e2
2 a-c e-b d------>a4 c2 e4 b0 d2------------->3
------>a4 c2 e2 b2 d2---->end-------->4(1)2(4)
3 a-e c-d b------>a6 e4 c4 d2 b2---->end-------->6(1)4(2)2(2)
BlueBeer 2004-05-12
  • 打赏
  • 举报
回复
还没有结果啊?

继续关注~
加载更多回复(13)

7,759

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧