description假設要在足夠多的會場裡安排一批活動,並希望使用盡可能少的會場。設計乙個有效的貪心演算法進行安排。 (這個問題實際上是著名的圖著色問題。若將每乙個活動作為圖的乙個頂點,不相容活動間用邊相連。使相鄰頂點著有不同顏色的最小著色數,相應於要找的最小會場數。) 對於給定的k個待安排的活動,計算使用最少會場的時間表。
input第一行有1 個正整數k,表示有 k個待安排的活動( 0
output輸出最少會場數
sample input
5example output 思路分析按最早開始時間排序1 23
12 28
25 35
27 80
36 50
#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 描述 學校的小禮堂每天都會有許多活動,有時間這些活動的計畫時間會發生衝突,需要選擇出一些活動進行舉辦。小劉的工作就是安排學校小禮堂的活動,每個時間最多安排乙個活動。現在小劉有一些活動計畫的時間表,他想盡可能的安排更多的活動,請問他該如...