6 迴圈賽日程表

2022-06-19 14:03:13 字數 664 閱讀 4861

問題描述:

設有n=2k個運動員要進行網球迴圈賽。現要設計乙個滿足以下要求的比賽日程表:每個選手必須與其他n-1個選手各賽一次,每個選手一天只能賽一次,迴圈賽一共進行n-1天。

輸出樣例:

81 2 3 4 5 6 7 8

2 1 4 3 6 5 8 7

3 4 1 2 7 8 5 6

4 3 2 1 8 7 6 5

5 6 7 8 1 2 3 4

6 5 8 7 2 1 4 3

7 8 5 6 3 4 1 2

8 7 6 5 4 3 2 1

思路:按照分治策略,將對手分成兩半,n個選手的比賽日程表就可以通過n/2個選手設計的日程表來決定。然後將左上角和左下角的表抄到各自對應的對角上就可以了。

#include#include

using

namespace

std;

intn;

vector

int>>a;

void solve(int l, int

r) }

intmain()

solve(

0, n-1

);

for (int i = 0; i < n; i++)

return0;

}

迴圈賽日程表

對於書上那個日程表的實現,第三版的課本給出了迴圈實現的方法,不過這個表的生成明顯要用遞迴方法生成更為合適,此表如下 可以看到每次該錶的生成總可以分成四個字表的填充過程,初始化讓左邊第一列填充上之後,然後每一次先遞迴填充左上角的子表,然後再填充左下角的子表,然後右上和右下的子表用copy的方法填充,實...

迴圈賽日程表

設有n個選手進行迴圈比賽,其中n 2 m,要求每名選手要與其他n 1名選手都賽一次,每名選手每天比賽一次,迴圈賽共進行n 1天,要求每天沒有選手輪空。輸入第一行為t,表示資料組數,對於每組資料就乙個m 1 m 10 對於每組輸入的m,輸出 形式的比賽安排表 1 3 1 2 3 4 5 6 7 8 2...

迴圈賽日程表

問題描述 設有n 2 k個運動員要進行網球迴圈賽。現要設計乙個滿足以下要求的比賽日程表 1 每個選手必須與其他n 1個選手各賽一次 2 每個選手一天只能參賽一次 3 迴圈賽在n 1天內結束。自己可以嘗試畫表找出規律,這是4個運動員參加比賽的日程表。左上角四格自身的規律 左上角四格與左下角四格的規律 ...