足球直播_足球免费在线高清直播_足球视频在线观看无插件-24直播网

您现在的位置是:首页 > 比赛录像 > 正文

比赛录像

再将前3只队伍的对阵列表中的含有第4只队伍的情况置零&#xff08

admin2024-03-04比赛录像50

  2019女排世界杯,比赛赛制采用12支队伍单循环,两两捉对厮杀一场定胜负,依次进行。

  比赛开始把12个队分成AB两个组进行,当同组每一个选手都碰面以后,再重新分组进行比赛,确保12支队伍每两支都相遇一次,最终将根据先胜负场次后积分的排名顺序。

  编程实现:输入球队的数量,得出比赛的对阵表。

  提醒:

  1.参赛队伍的数量不同可能会产生轮空的现象(某个队伍当天没有比赛)

  2.需要分成两种情况来考虑,存在轮空和不会存在轮空

  不会存在轮空:2、4、8、16、32…

  存在轮空:3、5、6、7、9…

  讨论参赛队伍的对阵情况:

  (1)2个队伍的时候,比赛对阵表如图所示:

2个队伍的对阵表

  (2)3个队伍的时候,会存在队伍轮空(当天不存在比赛)的情况。暂时不考虑。

  (3)4个队伍的时候,对阵表如图所示

4个队伍的对阵表

  可知以4个队伍的比赛赛程安排是建立在黄色区域(两只队伍的对阵表)为已知基础上的,且满足已下关系:

  蓝色区域:对应的位置是黄色区域的对应位置上的值+2

  绿色区域:对应的位置是黄色区域的对应位置上的值+2

  红色区域:对应的位置是黄色区域的对应位置上的值相等

  (4) 5,6,7只队伍暂时不考虑(均存在轮空的情况)。先直接考虑8个队伍的对阵表

8个队伍的对阵表

  分治法实现:

  把8个队伍的数据表示分成4小个区域。每个小区域又是由四个小区域构成。

  区域之间的关系满足下列条件:

  变化的值:

  每一个小区域和左上角固定区域之间值的关系(蓝色区域:对应的位置是黄色区域的对应位置上的值+2)

  三组for整体执行的次数:

  (三次for构成一个完整的小区域,比如四只参赛队伍需要执行一次三组for。 整体执行次数则表示构成当前阵列需要执行多少次组合)

区域之间满足的关系

  再考虑存在参赛队伍存在轮空的情况

  (1)3个队伍的时候。

3个队伍的对阵表

  3支队伍的对阵表等同于先计算4只队伍的参赛情况,然后去掉第4只队伍的对阵情况,再将前3只队伍的对阵列表中的含有第4只队伍的情况置零(即轮空),则实现了3只队伍的对阵表

  (2)5个队伍的时候。

  5支队伍的对阵表等同于先计算8只队伍的参赛情况,然后去掉第5只队伍之后的队伍的对阵情况,再将前5只队伍的对阵列表中的含有第5只队伍的之后的队伍的情况置零(即轮空),则实现了5只队伍的对阵表

  综上所述:

  (1)我们可以先直接计算不存在轮空现象的参赛队伍的情况

  (2)然后再通过置零的方法,实现存在轮空对阵的参赛队伍的情况

  (3)从而实现输入队伍数量,输出对阵表

  实现效果如下:

程序实现效果

  代码小白,仅作学习记录📝

再将前3只队伍的对阵列表中的含有第4只队伍的情况置零(

再将前3只队伍的对阵列表中的含有第4只队伍的情况置零(