會場安排問題

2021-08-11 02:33:08 字數 1130 閱讀 6046

description假設要在足夠多的會場裡安排一批活動,並希望使用盡可能少的會場。設計乙個有效的貪心演算法進行安排。 (這個問題實際上是著名的圖著色問題。若將每乙個活動作為圖的乙個頂點,不相容活動間用邊相連。使相鄰頂點著有不同顏色的最小著色數,相應於要找的最小會場數。) 對於給定的k個待安排的活動,計算使用最少會場的時間表。

input第一行有1 個正整數k,表示有 k個待安排的活動( 0

output輸出最少會場數

sample input

5

1 23

12 28

25 35

27 80

36 50

example output

思路分析按最早開始時間排序

#include

#include

#define max 10000

using

namespace

std;

struct pointp[max];

bool cmp(const point &a,const point &b)

int main()

sort(p, p+n, cmp);

for(int i=0; icout

<< p[i].x << " ";

}/*

//等同於sort

//按開始時間先後排序

for(int i=0; ip[j].x)

*///最早開始時間計算

int temp = n;

while(temp)

//關鍵演算法

for(int i=j+1; iif((p[j].y <= p[i].x) && (p[i].flag==1))

}count ++;

}cout

<< count << endl;

return

0;}

會場安排問題

會場安排問題 問題描述 假設要在足夠多的會場裡安排一批活動,活動的開始時間和結束時間已知,並希望使用盡可能少的會場。設計乙個有效的演算法進行安排。分析 這個問題實際上是著名的圖著色問題。若將每乙個活動作為圖的乙個頂點,不相容活動間用邊相連。使相鄰頂點著有不同顏色的最小著色數,就對應要找的最小會場數。...

會場安排問題

時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述 學校的小禮堂每天都會有許多活動,有時間這些活動的計畫時間會發生衝突,需要選擇出一些活動進行舉辦。小劉的工作就是安排學校小禮堂的活動,每個時間最多安排乙個活動。現在小劉有一些活動計畫的時間表,他想盡可能的安排更多的活動,請問他該如...

會場安排問題

時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述 學校的小禮堂每天都會有許多活動,有時間這些活動的計畫時間會發生衝突,需要選擇出一些活動進行舉辦。小劉的工作就是安排學校小禮堂的活動,每個時間最多安排乙個活動。現在小劉有一些活動計畫的時間表,他想盡可能的安排更多的活動,請問他該如...