51nod1428活動安排問題(貪心)

2021-08-21 18:56:51 字數 1339 閱讀 6999

1428 活動安排問題

基準時間限制:1 秒 空間限制:131072 kb 分值: 10 難度:2級演算法題

有若干個活動,第i個開始時間和結束時間是[si,fi),同乙個教室安排的活動之間不能交疊,求要安排所有活動,最少需要幾個教室? 

input

第一行乙個正整數n (n <= 10000)代表活動的個數。

第二行到第(n + 1)行包含n個開始時間和結束時間。

開始時間嚴格小於結束時間,並且時間都是非負整數,小於1000000000

output

一行包含乙個整數表示最少教室的個數。
input示例

3

1 23 4

2 9

output示例

2
看錯題了還以為一段時間最多安排活動的數量.....後來wa了,這個是wa的

#include#include#include#define ll long long

#define inf 0x3f3f3f3f

using namespace std;

ll a[10005];

ll vist[10005];

struct node

ac[10010];

//int n,aq,b,ans=inf,sum=0;

bool cmp(node a,node b)

sort(ac,ac+n,cmp);

int end=ac[0].end_time;

for(int i=1;iend)

else

}cout然後只能想辦法,就用優先佇列模擬

#include#include#include#include#include#define ll long long

#define inf 0x3f3f3f3f

using namespace std;

ll a[10005];

ll vist[10005];

struct node

ac[10010];

//int n,aq,b,ans=inf,sum=0;

bool cmp(node a,node b)

sort(ac,ac+n,cmp);

p.push(ac[0].end_time);

for(int i=1;i=p.top())

else p.push(ac[i].end_time);

} cout<

return 0;

}/*5

1 22 3

3 44 5

5 6*/

51nod 1428 活動安排問題

1428 活動安排問題 有若干個活動,第i個開始時間和結束時間是 si,fi 同乙個教室安排的活動之間不能交疊,求要安排所有活動,最少需要幾個教室?input 第一行乙個正整數n n 10000 代表活動的個數。第二行到第 n 1 行包含n個開始時間和結束時間。開始時間嚴格小於結束時間,並且時間都是...

51Nod 1428 活動安排問題

acm模版 將所有開始時間和結束時間存入乙個陣列內,然後排序,最後從頭至尾遍歷,初始化flag 0,遇見開始時間則flag 反之則更新res並flag include include include using namespace std const int maxn 1e4 10 struct p...

51nod 1428 活動安排問題

有若干個活動,第i個開始時間和結束時間是 si,fi 同乙個教室安排的活動之間不能交疊,求要安排所有活動,最少需要幾個教室?input 第一行乙個正整數n n 10000 代表活動的個數。第二行到第 n 1 行包含n個開始時間和結束時間。開始時間嚴格小於結束時間,並且時間都是非負整數,小於10000...