#include
#include
using
namespace std;
int calendar[
100]
[100];
//日程表陣列
void
gametable
(int k,
int a[
100]
[100])
;void
printtable
(int k,
int a[
100]
[100])
;int
main()
void
gametable
(int k,
int a[
100]
[100])
}void
printtable
(int k,
int a[
100]
[100])
cout << endl<
}}
八、執行結果截圖:
九、實驗心得與體會:
程式主要運用了:資料輸入、函式呼叫、函式傳值、for迴圈以及二維陣列等主要結構和功能。根據分治演算法,將本問題進行了由小規模到大規模的求解設計,程式設計的關鍵點在於如何對問題進行劃分和填充公式的歸納。在劃分時,主要運用了兩個for迴圈;在填充時,運用了兩個for迴圈。
通過這次程式設計,加深了對分治演算法的認識。解決具體問題時,程式故重要,但乙個好的演算法更加重要。
分治法 迴圈賽日程表
設有n 2k個運動員要進行羽毛球迴圈賽,現要設計乙個滿足以下要求的比賽日程表 1 每個選手必須與其它n 1個選手各賽一次 2 每個選手一天只能比賽一次 3 迴圈賽一共需要進行n 1天。由於n 2 k,顯然n為偶數。按分治策略,將所有的選手分為兩半,n個選手的比賽日程表就可以通過為n 2個選手設計的比...
迴圈賽日程表 分治法
設有n 2 k個運動員,要進行網球迴圈賽。現在要設計乙個滿足以下要求的比賽日程表,每個選手必須與其他n 1個選手各賽一場,每個選手一天只能賽一次,迴圈賽一共進行n 1天,將比賽日程表設計成n行n列,表中除了第一列,其他n 1列才是我們要的,陣列下標行列都從0開始,第i行j列代表第 i 1 位選手在第...
分治法 迴圈賽日程安排問題
問題 描寫敘述 設有n 2 k 位選手參加網球迴圈賽,迴圈賽共進行n 1 天,每位選手要與其它 n 1位選手比賽一場。且每位選手每天僅僅能賽一場,試安排比賽。舉例說明 1,當 n為偶數時,迴圈賽一共要進行n 1 天 比方,有運動員 周董,信哥,蔡依林,小七。一共 4個人,能夠例如以下安排 運動員第一...