活动选择问题(sdut2073
2013-10-10 20:57
204 查看
活动选择问题
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
sdut 大学生艺术中心每天都有n个活动申请举办,但是为了举办更多的活动,必须要放弃一些活动,求出每天最多能举办多少活动。输入
输入包括多组输入,每组输入第一行为申请的活动数n,从第2行到n+1行,每行两个数,是每个活动的开始时间b,结束时间e;输出
输出每天最多能举办的活动数。示例输入
12 15 20 15 19 8 18 10 15 4 14 6 12 5 10 2 9 3 8 0 7 3 4 1 3
示例输出
5
分析:
贪心,右端点从小到大排,相同的左端点从大到小排。先选定第一个活动,再一次往后找不重叠区间。
#include<stdio.h> #include<algorithm> using namespace std; struct jm { int s,e; } jie[110]; int cmp(jm a,jm b) { if(a.e==b.e) return a.s>b.s; return a.e<b.e; } int main() { int n,i,x,sum; while(scanf("%d",&n)!=EOF) { for(i=0;i<n;i++) { scanf("%d%d",&jie[i].s,&jie[i].e); } sort(jie,jie+n,cmp); x=jie[0].e;sum=1; for(i=1;i<n;i++) { if(jie[i].s>=x) { sum++;x=jie[i].e; } } printf("%d\n",sum); } return 0; }
相关文章推荐
- sdut 2073 活动选择问题
- SDUT 2073----活动选择问题
- [SDUT](2073)活动选择问题 ---贪心
- SDUT 2073 活动选择问题
- sdut 活动选择问题
- SDUT_活动选择问题2_贪心
- 2073 活动选择问题【贪心】
- SDUTOJ 2073 —— 活动选择问题
- 2073活动选择问题
- sdut.acm活动选择问题
- SDUT 贪心 活动选择问题
- 贪心算法例题:2073活动选择问题
- 2073活动选择问题
- SDUTOJ 2073 —— 活动选择问题 贪心
- 算法导论-第16章-贪心算法-16.1 活动选择问题
- 贪心算法 - 活动选择问题
- 活动选择问题
- 贪心之活动选择问题
- 活动选择问题