gpt4 book ai didi

java - 单场淘汰赛算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:21:21 25 4
gpt4 key购买 nike

我是这个领域的新手,我想做一个实现单场淘汰赛技术的 Java 应用程序,它将让我导入球员姓名和他们的俱乐部,并让应用程序(通过算法)为我创建单场淘汰赛带有基于特定标准的球员姓名的锦标赛括号,例如:来自同一俱乐部的两名球员不能互相比赛或两名赢得过先前冠军的球员不能互相比赛......等

无论如何,我怎样才能开始这样的算法?

最佳答案

抛开两个曾经获得过冠军的球员的问题,只考虑俱乐部,这就是我的建议。首先,添加另一个名为 BYE 的俱乐部,其中有足够多的球员 {bye0, bye1, ...} 以便球员总数为 2^n 对于某些 n。 (2 给出 n=1,4 给出 n=2,8 给出 n=3,16 给出 n=4,...)。

我们通过从树的根开始向下 n 层构建锦标赛分组。从根本上说,我们拥有所有的球员。要向下移动一个级别,一半玩家必须向左走,一半必须向右走。尝试在那个阶段将每个俱乐部分成两半,以便俱乐部 0 中的一半玩家去左边,俱乐部 0 中的另一半玩家去右边。您需要处理的唯一复杂情况是奇数,但由于必须有偶数个大小为奇数的球杆,所以出局的奇数人可以交替向左和向右移动。

以这种方式递归地沿着树向下。最后,你应该在最低级别的支架中分配尽可能均匀的球员和轮空。

关于java - 单场淘汰赛算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30601377/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com