time limit: 1000 ms
memory limit: 65536 kib
submit
statistic
problem description
學校的大學生藝術中心週日將面向全校各個學院的學生社團開放,但活動中心同時只能供乙個社團活動使用,並且每乙個社團活動開始後都不能中斷。現在各個社團都提交了他們使用該中心的活動計畫(即活動的開始時刻和截止時刻)。請設計乙個演算法來找到乙個最佳的分配序列,以能夠在大學生藝術中心安排不衝突的盡可能多的社團活動。
比如有5個活動,開始與截止時刻分別為:
最佳安排序列為:1,4,5。
input
第一行輸入活動數目n(0
以後輸入n行,分別輸入序號為1到n的活動使用中心的開始時刻a與截止時刻b(a,b為整數且0<=a,b<24,a,b輸入以空格分隔)。
output
輸出最佳安排序列所包含的各個活動(按照活動被安排的次序,兩個活動之間用逗號分隔)。
sample input
6sample output8 10
9 16
11 16
14 15
10 14
7 11
1,5,4hint
#include
struct node//用結構體來實現
a[120],b[120];
void sort(struct node a,int n)//按活動結束時間的先後從小到大將活動排序}}
}int main()
sort(a, n);//排序
int k = 0;
for(i = 0;i < n;i++)
}for(i = 1;i <= k;i++)
else
}printf("\n");
return 0;
思路:本題是一道貪心法解決的問題,求最優解的問題,首先對活動進行排序,而排序的規則則是按照結束時間最早來進行的,其次,在結束時間相同時,選取活動開始時間最合適的,從而求得最優解,本題可用結構體作為解決框架,氣泡排序法進行活動排序。
1298活動選擇(貪心)
學校的大學生藝術中心週日將面向全校各個學院的學生社團開放,但活動中心同時只能供乙個社團活動使用,並且每乙個社團活動開始後都不能中斷。現在各個社團都提交了他們使用該中心的活動計畫 即活動的開始時刻和截止時刻 請設計乙個演算法來找到乙個最佳的分配序列,以能夠在大學生藝術中心安排不衝突的盡可能多的社團活動...
SDUT 1298 活動選擇
活動選擇 time limit 1000 ms memory limit 65536 kib problem description 學校的大學生藝術中心週日將面向全校各個學院的學生社團開放,但活動中心同時只能供乙個社團活動使用,並且每乙個社團活動開始後都不能中斷。現在各個社團都提交了他們使用該中心...
活動選擇 oj
time limit 1000 ms memory limit 65536 kib submit statistic problem description 學校的大學生藝術中心週日將面向全校各個學院的學生社團開放,但活動中心同時只能供乙個社團活動使用,並且每乙個社團活動開始後都不能中斷。現在各個社...