迴圈賽程安排

2021-08-11 10:56:50 字數 787 閱讀 4593

#include "stdio.h" 

//為參加網球比賽的選手安排比賽日程,設有n(=2k)位選手參加網球迴圈賽,迴圈賽共進行n-1天,

//每位選手要與其他n-1位選手都賽一場,且每位選手每天賽一場,不輪空。

#define maxlen 100

int b[maxlen][2];//記錄所有比賽場次對手

int j=0;//比賽總場次

//第一步,使用組合演算法,求出n個選手,兩兩之間的組合--即所有的比賽場次。

void function(int n,int r,int a,int m) }}

//b為所有比賽場次,j為比賽總數 ,n為選手個數。

void function2(int b[2],int j,int n)

} int daytime=n/2;//每天比賽次數

int pre=0;

for(int i=1;ifor(int k=0,time=0;k}else if(k==j-1 && time}

a[pre]=0; //重置上一場比賽

time--;

k=pre;

}} //列印賽程資訊

for(int m=1;m<=daytime;m++)

}printf("\n");

} printf("\n");

} }int main()

printf("\n");

} //每天場次資訊:

function2(b,j,n);

}

單迴圈賽程安排問題

首先,來解釋一下,什麼是單迴圈問題,其實,這是乙個我們在實現中經常遇到的問題。問題描述 賽程問題 有n個運動員進行單迴圈賽,即兩個運動員都要與其他所有運動員比賽一次。要求每個運動員每天只進行一次比賽,且整個賽程在n 1天內結束,運動員編號由1到n 注 n 2 k 解題思想 看到這個問題,我們的第一種...

迴圈賽賽程安排 遞迴思想

今天上午準備學習一道演算法,拿到一本 計算機演算法設計 分析與實現 書,翻開一道迴圈賽賽程安排的題目。要求大致是這樣的 要求有n 2 k名網球運動員進行輪流賽,每個人都要與其他n 1名隊員打一場比賽 比賽在n 1天內必須結束 每個球隊每天只能打一場比賽 試給出安排方案。這裡我們用乙個最熟悉的思想來解...

單迴圈賽程安排問題

首先,來解釋一下,什麼是單迴圈問題,其實,這是乙個我們在實現中經常遇到的問題。問題描述 賽程問題 有n個運動員進行單迴圈賽,即兩個運動員都要與其他所有運動員比賽一次。要求每個運動員每天只進行一次比賽,且整個賽程在n 1天內結束,運動員編號由1到n 注 n 2 k 解題思想 看到這個問題,我們的第一種...