會場安排問題

2021-08-19 17:48:22 字數 1228 閱讀 6290

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

2.解題思路:對所有的活動,每次都使用貪心演算法,第1個會場不能安排後,再對剩下的活動使用貪心演算法,直到所有的活動安排完。

#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 描述 學校的小禮堂每天都會有許多活動,有時間這些活動的計畫時間會發生衝突,需要選擇出一些活動進行舉辦。小劉的工作就是安排學校小禮堂的活動,每個時間最多安排乙個活動。現在小劉有一些活動計畫的時間表,他想盡可能的安排更多的活動,請問他該如...