我正在试图弄清楚如何最好地处理双重消除支架。当我做了我的单一淘汰时,我就这样做了
double rounds = Math.Round(Math.Log(totalfighters, 2));
double bye = Math.Pow(2, rounds) - totalfighters;
我基本上必须弄清楚需要多少回合和多少个字节,然后编码我将如何分配匹配。在我的比赛模型中,我有以下内容:
Match {
int fighter1
int fighter2
int winner
}
我一直绞尽脑汁想知道如何使用上面的代码(如果可能的话)来生成双重消除括号。双重消除的主要问题是正确地产生失败者的支架。一直试图使用以下格式:
http://www.printyourbrackets.com/7teamdoubleelimination.html
但我一直坚持产生失败者的支架。
有什么想法?或者我是否应该强制忽略我的单一消除算法?
答案 0 :(得分:1)
在更复杂的双重消除情况下,可能更容易一轮一轮地计算括号,并因此使轮数减少。使用可以在添加轮次时扩展的数据结构。
确切的规则很重要。例如,大概在获胜者支架再见中的战斗机进入获胜者支架的下一轮,并且没有相应的战斗机被添加到输家支架。