HDU2037 今年暑假不AC
2015-11-04 21:51
302 查看
解题思路:贪心问题,关键突破口是,先将节目的结束时间
从小到大排个序,然后依次判断后面一个节目的开始时间
是否大于或等于前一个符合条件的节目的结束时间。见代码:
View Code
从小到大排个序,然后依次判断后面一个节目的开始时间
是否大于或等于前一个符合条件的节目的结束时间。见代码:
#include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int maxn = 105; int n, cnt, tmp; struct node{ int s, e; }p[maxn]; int cmp(node A, node B) { return A.e < B.e; } int main() { while(~scanf("%d", &n) && n) { for(int i = 0; i < n; i++) { scanf("%d %d", &p[i].s, &p[i].e); } sort(p, p+n, cmp); tmp = p[0].e, cnt = 0; for(int i = 1; i < n; i++) { if(p[i].s >= tmp) //等也是可以的 { cnt ++; tmp = p[i].e; //tmp存储节目的结束时间 } } printf("%d\n", cnt+1); //cnt此处要加1 } return 0; }
View Code
相关文章推荐
- Spring/Hibernate 应用中常见的性能问题,以及对应的解决方案
- ASP.NET中验证控件的使用
- read命令的用法
- Java线程池介绍
- 文件I/O和标准I/O的使用
- Java对象初始化
- android 二维码生成及解析
- uva 11488 Hyper Prefix Sets(狂水)
- Memcache安装篇
- 优化哈希策略
- Miller_Rabin和Pollard Rho算法
- 强联通分量-kosaraju
- nib与xib浅析
- Postgresql及mongodb下载
- There is no Action mapped for namespace
- 深入理解 Java final 变量的内存模型
- 【Android】ArrayList通过remove方法删除元素对象源码分析
- poj 1061 青蛙的约会 【扩展欧几里得】
- Java 中的 ByteArrayOutputStream 应用风险
- android自定义加载动画