題目描述
[題目描述]
在大公司裡,會議是很多的,開會得有場子,要場子你得先在電子流裡預訂。
如果你是專案組新來的小弟,那麼恭喜你,每天搶訂會議室的任務就光榮的分給你了。
老大要求你盡可能多的訂會議室,但是這些會議室之間不能有時間衝突。
[input]
input檔案中可以包括多個測試案例。
t(t ≤ 20),輸入檔案的第一行表示檔案中有多少個測試案例。
n(1 ≤ n ≤ 500),每個測試案例的第一行表示會議室的數目。
每個測試案例中,除第一行以外表示各個會議室的資訊。每行會有3個數字,分別表示會議編號、會議起始時間、會議結束時間。
[output]
輸出可以安排的最大會議數目
[i/o example]
input26
1 1 10
2 5 6
3 13 15
4 14 17
5 8 14
6 3 12
151 4 8
2 2 5
3 2 6
4 4 6
5 2 3
6 1 6
7 4 7
8 3 5
9 3 8
10 1 2
11 1 7
12 2 4
13 5 6
14 4 5
15 7 8
output35
練習模板
#include
#include
using
namespace std;
int main(
int argc,
char** argv)
return
0; //
your program should return 0 on normal termination.}
**實現
題目中要求會議時間不可以衝突,所以可以利用貪心演算法,盡可能的選擇會議時間結束較早的會議室,這樣就能安排最多的會議室。
#include
#include
#include
#include
using
namespace std;
class meetingroom
};bool isendearly(
const meetingroom r1,
const meetingroom r2)
int main(
int argc,
char** argv)
//sort rooms for end time
sort(rooms.begin(), rooms.end(), isendearly);
//use greedy algorithm to solve promblem
count =
1;meetingroom prev = rooms[
0];for (vector::iterator it = rooms.begin() +
1; it != rooms.end(); it++) }
cout << count << endl; }
return
0; }
貪心演算法 堆 安排會議室
一些專案要占用乙個會議室宣講,會議室不能同時容納兩個專案的宣講。給你每乙個專案開始的時間和結束的時間 給你乙個陣列,裡面是乙個個具體的專案 你來安排宣講的日程,要求會議室進行 的宣講的場次最多。返回這個最多的宣講場次。貪心 按照結束時間最早排序 public class bestarrange 小根...
貪心演算法 會議室問題
有一堆會議,每個會議都有開始時間和結束時間,問至少需要幾個房間可以安排下這些會議?解決思路 這是個貪心類問題,每個會議都有結束時間和開始時間,可以對兩個時間分開儲存並排序,從最先開始的會議開始遍歷,只要當前會議的開始時間小於結束時間陣列中的第乙個結束時間,就需要重新開闢乙個房間。接著看下乙個會議的開...
演算法(31) 貪心(1) 會議室安排 C
會議室安排 輸入 一組會議的其實終止時間比如 7,8 8,10 9,12 10,15 就乙個會議室,如何安排會議室的利用率最高。輸出 安排會議的個數,或者是安排了哪些會議。此時返回3 7 8 8 10 10 15 思路 按結束時間排序 資料多時用小根堆 上 貪心1 會議室安排 小根堆 class p...