題目描述
假設有乙個需要使用某一資源的n個活動所組成的集合s,s=。該資源一次只能被乙個活動所占用,每乙個活動有乙個開始時間bi和結束時間ei(bi<=ei)。若bi>=ej或bj>=ei,則稱活動i和活動j相容。你的任務是:選擇由互相相容的活動所組成的最大集合。
輸入共n+1行,其中第1行為n,第2行到第n+1行表示n個活動的開始時間和結束時間(中間用空格隔開),格式為:
nn(n<=1000)
b1 e1
bn en
輸出最大能滿足的活動數量
樣例輸入
113 5
1 412 14
8 12
0 68 11
6 10
5 73 8
5 92 13
樣例輸出
4貪心,盡早結束的先選。
#include
using
namespace std;
#define inf 0x3f3f3f3f
#define full(a,b) memset(a,b,sizeof a)
#define ll long long
#define ui unsigned int
intread()
#define debug 1
#define n 1005
int n,ans;
struct node
arr[n]
;int
cmp(node x,node y)
intmain()
n=read()
;for
(int i=
1; i<=n; i++
)sort
(arr+
1,arr+
1+n,cmp)
;int x=-1
;//記錄最晚的時間
for(
int i=
1; i<=n; i++)if
(arr[i]
.a>=x)
++ans,x=arr[i]
.b;//重新整理時間
printf
("%d"
,ans)
;return0;
}
活動選擇 貪心)
time limit 1000ms memory limit 65536kb problem description 學校的大學生藝術中心週日將面向全校各個學院的學生社團開放,但活動中心同時只能供乙個社團活動使用,並且每乙個社團活動開始後都不能中斷。現在各個社團都提交了他們使用該中心的活動計畫 即活...
貪心 活動選擇
problem description 學校的大學生藝術中心週日將面向全校各個學院的學生社團開放,但活動中心同時只能供乙個社團活動使用,並且每乙個社團活動開始後都不能中斷。現在各個社團都提交了他們使用該中心的活動計畫 即活動的開始時刻和截止時刻 請設計乙個演算法來找到乙個最佳的分配序列,以能夠在大學...
活動選擇問題(貪心)
time limit 1000ms memory limit 65536k 有疑問?點這裡 學校的大學生藝術中心週日將面向全校各個學院的學生社團開放,但活動中心同時只能供乙個社團活動使用,並且每乙個社團活動開始後都不能中斷。現在各個社團都提交了他們使用該中心的活動計畫 即活動的開始時刻和截止時刻 請...