計算機演算法 遞迴 迴圈日程表

2021-10-10 19:53:41 字數 1091 閱讀 9850

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

輸入:m(m<=7)。

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

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

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

using

namespace std;

int arr[

1024][

1024];

intfastpower

(int base,

int power)

power = power /2;

base =

(base * base)

%1000;}

return result;

}void

arrangement

(int x,

int y,

int size)

intmain()

arrangement(1

,1,n);

for(i =

1;i <= n;i++

) cout<}}

遞迴 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 ...

迴圈日程表問題(分治遞迴)

參考部落格 迴圈日程表問題。n 2k 個運動員進行網球迴圈賽,需要設計比賽日程表。每個選手必須與其他n 1 個選手各賽一次 每個選手一天只能賽一次 迴圈賽一共進行n 1 天。按此要求設計一張比賽日程表,該錶有n 行和n 1 列,第i 行j列為第i 個選手第j 天遇到的選手。該問題和棋盤問題很像,都可...