2037 贪心算法(选择不相交的区间) 水题
2016-06-23 21:20
295 查看
今年暑假不AC Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 45242 Accepted Submission(s): 24261 Problem Description “今年暑假不AC?” “是的。” “那你干什么呢?” “看世界杯呀,笨蛋!” “@#$%^&*%...” 确实如此,世界杯来了,球迷的节日也来了,估计很多ACMer也会抛开电脑,奔向电视了。 作为球迷,一定想看尽量多的完整的比赛,当然,作为新时代的好青年,你一定还会看一些其它的节目,比如新闻联播(永远不要忘记关心国家大事)、非常6+7、超级女生,以及王小丫的《开心辞典》等等,假设你已经知道了所有你喜欢看的电视节目的转播时间表,你会合理安排吗?(目标是能看尽量多的完整节目) Input 输入数据包含多个测试实例,每个测试实例的第一行只有一个整数n(n<=100),表示你喜欢看的节目的总数,然后是n行数据,每行包括两个数据Ti_s,Ti_e (1<=i<=n),分别表示第i个节目的开始和结束时间,为了简化问题,每个时间都用一个正整数表示。n=0表示输入结束,不做处理。 Output 对于每个测试实例,输出能完整看到的电视节目的个数,每个测试实例的输出占一行。 Sample Input 12 1 3 3 4 0 7 3 8 15 19 15 20 10 15 8 18 6 12 5 10 4 14 2 9 0 Sample Output 5 Author lcy Source ACM程序设计期末考试(2006/06/07) Recommend lcy
#include<stdio.h> #include<stdlib.h> typedef struct{ int a; int b; }run; int cmp(const void*a,const void*b) { return (*(run *)a).b-(*(run *)b).b; } run shows[101]; int main(void) { int n; while(~scanf("%d",&n)&&n) { int i,B;int count=1; for(i=1;i<=n;i++) scanf("%d %d",&shows[i].a,&shows[i].b); qsort(shows+1,n,sizeof(shows[0]),cmp);//shows是从第一个下标存储数据 B=shows[1].b; //printf("_________________________________________\n"); //for(i=1;i<=n;i++) //printf("%d %d\n",shows[i].a,shows[i].b); for(i=2;i<=n;i++) { if(shows[i].a>=B) { count++;//printf("^^\t");printf("%d %d\n",shows[i].a,shows[i].b); B=shows[i].b; } } printf("%d\n",count); } }
相关文章推荐
- 网桥与交换机的区别
- 1009 贪心算法 (简单分背包问题) 水题
- javascript对象
- LeetCode:LRU Cache
- csipsimple not enough buffer for decoded frame
- sizeof详解 字节对齐
- HDU2199 二分查找(浮点型) 水题
- PHP手册-语言参考-类型-Integer 整型
- 阅读笔记08
- 1002 大数相加 (简单模拟) 水题
- BZOJ1455: 罗马游戏
- 4. Median of Two Sorted Arrays
- js 在线调试页面
- 2054 大数模拟 水题(略坑)
- ParNew 和 Parallel Old
- 2055 签到题
- 第十五周(3)-阅读程序
- Thymeleaf基础知识
- CodeForces 569A Music
- 1062 字符串处理 水题