单循环比赛队伍编排(非分治算法)纯循环解决
摘要:
情景:假如有N个队伍要进行单循环比赛,即任何一个队伍要和所有其他队伍进行一次比赛,在一轮比赛中每个队伍只能进行一次比赛,比赛完后不能再和其他队伍比赛,需要等到下一轮。比赛队伍编排用以下算法:把队伍按顺序排成一圈,如果队伍为奇数,就添加一个冗余位到首位。现在除了第一位和中间位,其余位置的队伍其水平方向都有一个队伍与其相对,那么水平方向连线的2个队伍就为这一轮比赛的队伍,第一位和中间位为一对(若第一位为冗余的,那么中间的那个队伍这一轮就不用比赛),一轮完成。下一轮首位的不动,队伍以顺时针或逆时针转一个位置,有队伍遇到首位的队伍的就跳过,再移动一位。这样就能形成新的圆圈队伍,按上一次的出赛规则出赛。 阅读全文
posted @ 2011-12-06 12:28 Topless 阅读(2365) 评论(0) 推荐(0) 编辑