贪心问题
2014-02-18 09:47
78 查看
活动选择问题
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
此题正解为先按结束时间从小到大排,再按开始时间由大到小排出n个序列,找最长的一个序列
#include<stdio.h> #include<algorithm> using namespace std; struct sa { int start,end; }data[1007]; int cmp(const sa &a,const sa &b) { return a.end<b.end; } int main() { int m; while(scanf("%d",&m)!=EOF) { for(int i=0;i<m;i++) scanf("%d%d",&data[i].start,&data[i].end); sort(data,data+m,cmp); sa temp=data[0]; int count=1; for(int j=0;j<m;j++) { if(temp.end<=data[j].start) { count++; temp=data[j]; } } printf("%d\n",count); } return 0; }
相关文章推荐
- 纯C语言:贪心Prim算法生成树问题源码
- uva 10382 贪心 区间覆盖问题
- 贪心算法 解决 活动选择问题
- 4906 删数问题(另一种贪心思路)
- 51nod-1448 二染色问题-(贪心)
- 贪心算法专题小结——区间相关问题
- 数据结构与算法学习之路:背包问题的贪心算法和动态规划算法
- ZOJ3953 Intervals 【贪心 双线程活动分配问题】
- 南阳47 过河问题(经典贪心)
- HDU ACM 1050 Moving Tables(贪心 + 区间覆盖问题)
- L 数学问题(并不贪心)
- 贪心A 删数问题
- poj 2376 Cleaning Shifts 贪心 区间问题
- 贪心算法——区间找点问题
- POJ 1328 Radar Installation【贪心 区间问题】
- NYOJ-106 背包问题(贪心)
- 最优服务次序问题(贪心)
- 贪心:汽车加油问题
- NYOJ891. 找点(贪心+区间选点问题)
- 1017:装箱问题(贪心)