演算法練習記錄
設有n個選手進行迴圈比賽,其中n=2^m,要求每名選手要與其他n−1名選手都賽一次,每名選手每天比賽一次,迴圈賽共進行n−1天,要求每天沒有選手輪空。
輸入格式:
輸入:m(m<=7)。
輸出格式:
輸出:**形式的比賽安排表。一行各資料間用乙個空格隔開。
輸入樣例:
輸出樣例:在這裡給出相應的輸出。例如:
1 2 3 4 5 6 7 8說明,第一行為:1 2 3 4 5 6 7 8,1表示本行都是1號選手和其他選手的比賽,如第2個數為2(其下標可以看成1)表示第一天1號和2號比賽,第5個數為5(其下標可以看成4),表示1號和5號在第4天比賽。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
**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 樣例輸出 ...