活動選擇
學校的大學生藝術中心週日將面向全校各個學院的學生社團開放,但活動中心同時只能供乙個社團活動使用,並且每乙個社團活動開始後都不能中斷。現在各個社團都提交了他們使用該中心的活動計畫(即活動的開始時刻和截止時刻)。請設計乙個演算法來找到乙個最佳的分配序列,以能夠在大學生藝術中心安排不衝突的盡可能多的社團活動。
比如有5個活動,開始與截止時刻分別為:
最佳安排序列為:1,4,5。
input
第一行輸入活動數目n(0<n<100);
以後輸入n行,分別輸入序號為1到n的活動使用中心的開始時刻a與截止時刻b(a,b為整數且0<=a,b<24,a,b輸入以空格分隔)。
output
輸出最佳安排序列所包含的各個活動(按照活動被安排的次序,兩個活動之間用逗號分隔)。
sample input6
8 10
9 16
11 16
14 15
10 14
7 11
sample output
1,5,4
這個解法是我在一本書上看到的c++的解法
其中sort函式是排序函式,而cmp函式是排序規則;
#include
using
namespace std;
struct node
record[
10010];
bool
cmp(
const node& a,
const node& b)
intmain()
sort
(record,record+n,cmp)
;int count=0;
int lastend=-1
;for
(i=0
;ifor(i=
0;i1;i++
)printf
("%d,"
,s[i]);
printf
("%d\n"
,s[i]);
return0;
}
SDUT 貪心 活動選擇問題
problem description sdut 大學生藝術中心每天都有n個活動申請舉辦,但是為了舉辦更多的活動,必須要放棄一些活動,求出每天最多能舉辦多少活動。input 輸入包括多組輸入,每組輸入第一行為申請的活動數n n 100 從第2行到n 1行,每行兩個數,是每個活動的開始時間b,結束時間...
SDUT 貪心 活動選擇問題
problem description sdut 大學生藝術中心每天都有n個活動申請舉辦,但是為了舉辦更多的活動,必須要放棄一些活動,求出每天最多能舉辦多少活動。input 輸入包括多組輸入,每組輸入第一行為申請的活動數n n 100 從第2行到n 1行,每行兩個數,是每個活動的開始時間b,結束時間...
SDUT 活動選擇問題2 貪心
time limit 1000 ms memory limit 65536 kib submit statistic problem description sdut 大學生藝術中心每天都有n個活動申請舉辦,但是為了舉辦更多的活動,必須要放棄一些活動,求出每天最多能舉辦多少活動。input 輸入包括...