- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我是这个领域的新手,我想做一个实现单场淘汰赛技术的 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/
我用 microsoft word(查找和替换)解决了 python 挑战 #2,但是当我使用 python 时,我失败了,因为这段代码不起作用... with open("C:\\Python34\
我检查了许多样本,但没有一个与我正在尝试做的完全相同。 我的工作主要是有效的,但它并不完全正确。 这里有一个 fiddle 来说明这个问题。 http://jsfiddle.net/5yA6G/4/
我用 Knockout 做了什么,我正在尝试用 Angular 做些什么。 在我当前的项目中,我有一个表格,其中数据正在通过滚动事件添加。当用户向下滚动时,我在表的末尾添加 20 行,总行数可以达到
您在 Trigger.io 中成功使用了什么 JavaScript 框架?我的意思是客户端 JS 应用程序框架,如 Backbone、Knockout、ember、angular? 我们在这里使用 a
刚刚更新到 vs2012 更新 2,但我注意到 html 中任何敲除部分的文本颜色都发生了变化。它们有非常浅的灰色背景,这使得阅读非常困难。我无法在 Visual Studio 选项的字体和颜色部分找
我是一名优秀的程序员,十分优秀!