PTA 6 迴圈日程表

2021-10-10 18:03:10 字數 1249 閱讀 2129

問題:

設有n個選手進行迴圈比賽,其中n=2^​m ,要求每名選手要與其他n−1名選手都賽一次,每名選手每天比賽一次,迴圈賽共進行n−1天,要求每天沒有選手輪空。

輸入格式:

輸入:m(m<=7)。

輸出格式:

輸出:**形式的比賽安排表。一行各資料間用乙個空格隔開。

輸入樣例:

3輸出樣例:

在這裡給出相應的輸出。例如:

1 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

說明,第一行為:1 2 3 4 5 6 7 8,1表示本行都是1號選手和其他選手的比賽,如第2個數為2(其下標可以看成1)表示第一天1號和2號比賽,第5個數為5(其下標可以看成4),表示1號和5號在第4天比賽。

分析:

源**:

#include

#include

using

namespace std;

#define n 128

//遞迴函式

void

arrange

(int p,

int q,

int t,

int arr[n]

[n])

//填左下角

for(

int i = p + t /

2; i < p + t; i++)}

//填右下角

for(

int i = p + t /

2; i < p + t; i++)}

}int

main()

//遞迴

arrange(0

,0, n, arr)

;//列印輸出迴圈賽日程表

for(

int i =

0; i < n; i++

) cout << endl;

}return0;

}

遞迴 PTA迴圈日程表

設有n個選手進行迴圈比賽,其中n 2 m,要求每名選手要與其他n 1名選手都賽一次,每名選手每天比賽一次,迴圈賽共進行n 1天,要求每天沒有選手輪空。輸入格式 輸入 m m 7 輸出格式 輸出 形式的比賽安排表。一行各資料間用乙個空格隔開。輸入樣例 3輸出樣例 在這裡給出相應的輸出。例如 1 2 3...

迴圈日程表

問題 設有n 2k個運動員要進行網球迴圈賽。現要設計乙個滿足以下要求的比賽日程表 每個選手必須與其他n 1個選手各賽一次,每個選手一天只能賽一次,迴圈賽一共進行n 1天。分析分治思想,k的日程表是通過k 1的日程表通過相加得到 include include using namespace std ...

6 迴圈賽日程表

問題描述 設有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...