今年暑假不AC

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 38594    Accepted Submission(s): 20623
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

简单的结构体贪心,按照结束时间早的顺序排序,然后选择即可。

#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
struct TV
{int start,end;        ///结构体存节目的开始结束时间
} a[105];
int cmp(TV x,TV y)
{if(x.end==y.end)return x.start>y.start;else return x.end<y.end;       ///按照节目结束的时间排序
}
int main()
{int n;while(~scanf("%d",&n)&&n){bool time[25],flag;         ///定义布尔数组用来代表0-23点是否已经有电视节目安排int count=0;memset(time,false,sizeof(time));for(int i=0; i<n; i++)scanf("%d%d",&a[i].start,&a[i].end);sort(a,a+n,cmp);for(int i=0; i<n; i++){flag=true;for(int j=a[i].start+1; j<=a[i].end; j++){if(time[j]==true){flag=false;break;}}if(flag)                  ///如果没有安排就计数+1,然后把该时间段占用{count++;for(int j=a[i].start+1; j<=a[i].end; j++)time[j]=true;}}printf("%d\n",count);}
}

【HDU 2037】今年暑假不AC相关推荐

  1. HDU 2037 今年暑假不AC

    今年暑假不AC Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Su ...

  2. HDU 2037 今年暑假不AC【贪心】

    今年暑假不AC Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  3. hdu 2037 今年暑假不AC (java)

    问题: 此题为贪心算法入门,思路是先将各个时间段依照结束时间进行排序(按结束越早遍历.节目愈多), 再从第一个节目開始,假设下一节目開始时间大于上一节目的開始时间则进行该节目.依次递推. 输入时,要求 ...

  4. HDU 2037 今年暑假不AC (贪心)

    典型的贪心算法. 思路: 每次都选择结束时间最早的节目 , 同时下一个节目的时间要与上一个节目结束时间相同或者在上一个节目结束时间之后. Tips: 贪心算法是在对问题求解时,总是做出在当前看来是最好 ...

  5. hdu 2037(今年暑假不AC)

    题目: 有n个区间,[ai, bi), 统计不相交区间最多有多少个? 贪心策略: 将这n个区间按bi由小到大排序,然后从前向后遍历,每当遇到不相交的区间就加入目标集合,遍历完成后就找到了最多的不相交区 ...

  6. HDOJ 2037 今年暑假不AC 【贪心】

    HDOJ 2037 今年暑假不AC [贪心] 题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=2037 给出n个电视节目的开始时间和结束时间, 要求合理安 ...

  7. 杭电oj2037c语言,杭电oj 2037 今年暑假不AC

    Tips:贪心算法的典型应用,可以按照节目结束时间由小到大排序,(至于结束时间相同的,有些人说按开始时间早的排序,不过个人认为不必处理,因为结束时间一样,两个之中要么都没有,要么必有一个)然后再依次进 ...

  8. 【HDU2037】今年暑假不AC

    http://acm.hdu.edu.cn/showproblem.php?pid=2037 "今年暑假不AC?" "是的." "那你干什么呢?&qu ...

  9. 杭电OJ(HDU)-ACMSteps-Chapter Three-《FatMouse#39; Trade》《今年暑假不AC》《排名》《开门人和关门人》...

    http://acm.hdu.edu.cn/game/entry/problem/list.php?chapterid=1§ionid=3 1.3.1 FatMouse' Trade #include ...

最新文章

  1. java arraylist和list_Java中ArrayList和LinkedList区别
  2. 数据结构 算法与应用C 语言描述第六章,数据结构算法与应用-C语言描述002.pdf
  3. 注意力机制Q K V
  4. 如何在windows server 2008 AD中禁用USB端口(转庐阳侠们博客)
  5. 单选选中改状态加边框(需要重绘:this.$forceUpdate(); )
  6. 计算机在中职教育中的运用论文,中职计算机教育的相关论文(2)
  7. Linux 硬件信息命令
  8. EL表达式从数组 Map List集合取值
  9. 《计算机组成原理》----2.3 二进制运算
  10. python数据库优化_python | Mysql性能优化一
  11. 《『若水新闻』客户端开发教程》——14.代码编写(6)
  12. 利用Pattern和Mather来禁止特殊字符的输入
  13. 使用GDAL对DEM进行彩色渲染
  14. foobar的来源与历史
  15. 变量申明的提升,闭包,作用域,this,运算符优先级详细举例及讲解
  16. 超像素分割SLIC与SLIC0(SLIC Zero)算法的区别
  17. Oracle10g或Oracle11g完全卸载正确步骤(亲身体验-详细图文教程)
  18. 31.SUM() 函数
  19. 惠普HP LaserJet 5L 打印机出纸口卡纸的维修
  20. VOWIFI--相关的协议文档

热门文章

  1. U8连续账套,期初往来两清清理。
  2. Android二维码开源项目zxing编译
  3. 2018双11倒计时 | 双11十年牧码梦
  4. all about AIX MPIO
  5. 这些痛,只有程序员懂… | 搞笑动图
  6. coredump介绍和使用
  7. 工程概论I--优享家庭蔬菜-虚拟大学生创新创业项目计划书
  8. Metasploit攻击win7实例——利用MS11_003 IE漏洞攻击win7主机
  9. Linux使用iPhone USB共享网络
  10. 剑网三缘起正在连接服务器,剑网3缘起:因无法服务端无法匹配二测延迟