迴圈日程表 數獨列舉方法

2022-09-08 21:00:18 字數 1038 閱讀 3872

演算法練習記錄

設有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天比賽。

**c++:

#include

#include

#include

using namespace std;

/**數獨問題

*/int dp[

1024][

1024];

intcheck

(int x,

int y,

int n,

int m)

void

solve

(int n,

int m,

int x,

int y)

}int

main()

return0;

}

迴圈日程表

問題 設有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天遇到的選手。該問題和棋盤問題很像,都可以通過遞...

迴圈比賽日程表

總時間限制 1000ms 記憶體限制 65535kb 描述 設有n個選手進行迴圈比賽,其中n 2 m,要求每名選手要與其他n 1名選手都賽一次,每名選手每天比賽一次,迴圈賽共進行n 1天,要求每天沒有選手輪空。輸入m m 10 輸出 形式的比賽安排表 數字之間以乙個空格分開 樣例輸入 3 樣例輸出 ...