1.問題描述:
會場安排問題:2.解題思路:對所有的活動,每次都使用貪心演算法,第1個會場不能安排後,再對剩下的活動使用貪心演算法,直到所有的活動安排完。假設要在足夠多的會場裡安排一批活動,並希望使用盡可能少的會場。設計乙個有效的
貪心演算法進行安排。(這個問題實際上是著名的圖著色問題。若將每乙個活動作為圖的乙個
頂點,不相容活動間用邊相連。使相鄰頂點著有不同顏色的最小著色數,相應於要找的最小
會場數。)
程式設計任務:
對於給定的k個待安排的活動,程式設計計算使用最少會場的時間表。
input
由檔案input.txt給出輸入資料。第一行有1 個正整數k,表示有k個待安排的活動。接
下來的k行中,每行有2個正整數,分別表示k個待安排的活動開始時間和結束時間。時間
以0 點開始的分鐘計。
output
將程式設計計算出的最少會場數輸出到檔案output.txt。
sample input
51 23
12 28
25 35
27 80
36 50
sample output
3
#include#define m 5
#define max 2000
void select(int num,int s,int f,int state)
} if(prefinal!=max)
} }int main();
int f=;
int state=;
int count=0;
for(int i=0;i4.為什麼使用貪心演算法可以得到最優解:
這個問題實際上是著名的圖著色問題,若將每乙個活動作為圖的乙個頂點,不相容問題間用邊連線。使相連頂點著有不同顏色的最小著色數,相應於要找的最小會場數。假設依次得到的會場序列為1,2,3,4。。。。。。n,可以從得到的最後乙個會場開始分析。在1中任意找出乙個活動,那麼在n,n-1,n-2......2中的所有活動的時間都和1會場的活動時間衝突,因此可以用來給會場1標記一種顏色。會場2中的所有活動在和會場1衝突前提下,n,n-1,n-2......3中的所有活動的時間都和2會場的活動時間衝突。
會場3中的所有活動在和會場1,2衝突前提下,n,n-1,n-2......4中的所有活動的時間都和3會場的活動時間衝突。依次類推,那麼可得到用貪心演算法的得到需要的會場最少。
會場安排問題
會場安排問題 問題描述 假設要在足夠多的會場裡安排一批活動,活動的開始時間和結束時間已知,並希望使用盡可能少的會場。設計乙個有效的演算法進行安排。分析 這個問題實際上是著名的圖著色問題。若將每乙個活動作為圖的乙個頂點,不相容活動間用邊相連。使相鄰頂點著有不同顏色的最小著色數,就對應要找的最小會場數。...
會場安排問題
時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述 學校的小禮堂每天都會有許多活動,有時間這些活動的計畫時間會發生衝突,需要選擇出一些活動進行舉辦。小劉的工作就是安排學校小禮堂的活動,每個時間最多安排乙個活動。現在小劉有一些活動計畫的時間表,他想盡可能的安排更多的活動,請問他該如...
會場安排問題
時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述 學校的小禮堂每天都會有許多活動,有時間這些活動的計畫時間會發生衝突,需要選擇出一些活動進行舉辦。小劉的工作就是安排學校小禮堂的活動,每個時間最多安排乙個活動。現在小劉有一些活動計畫的時間表,他想盡可能的安排更多的活動,請問他該如...