简单贪心 hdoj2037(今年暑假不AC)_输入数据包含多个测试实例,每个测试实例的第一行只有一个整数n(n<=100),表示你喜欢看的_Learning_is_endless的博客-程序员秘密

技术标签: # 贪心  

                                           今年暑假不AC

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
思路:
设节目开始时间为a,结束时间为b
刚开始一直想的是根据前段时间a排序,但是发现思路不对,正确的思路是:按后面的时间b从小到大排序,然后看前面的时间a,只要排序后的下面一个节目开始时间a比
上面节目的结束时间b要大或者相等,那么即选定这个节目即可,这个节目就是最优解。
水平有限 代码将就着看吧:
AC代码如下:
#include<stdio.h>
int main()
{
    int a[110],b[110];
    int n,i,j,t1,t2,m,k,count;
    while(scanf("%d",&n)!=EOF){
        if(n==0)    break;
        for(i=0;i<n;i++)    
            scanf("%d %d",&a[i],&b[i]);
        for(i=0;i<n-1;i++){
            for(j=0;j<n-i-1;j++){
                if(b[j]>b[j+1]){
                    t1=b[j];b[j]=b[j+1];b[j+1]=t1;
                    t2=a[j];a[j]=a[j+1];a[j+1]=t2;
                }
            }
    }
        count=1;
        m=a[0];k=b[0];
        for(i=1;i<n;i++){
            if(a[i]>=k){
                count++;
                k=b[i];
            }
        }
        printf("%d\n",count);
    }
    return 0;
}

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zhangxiaoduoduo/article/details/75807405

智能推荐

linux常用命令笔记_linux dtc_jerwey的博客-程序员秘密

sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等。这样不仅减少了root用户的登录 和管理时间,同样也提高了安全性。sudo不是对shell的一个代替,它是面向每个命令的。....................................

公务员考试常识!!!_weixin_33980459的博客-程序员秘密

1、中国有23个省、4个直辖市、5个自治区、2个特别行政区。2、中国的水力资源很丰富,在世界上是第一位。 3、人们把长江流过的瞿塘峡、巫峡、西陵峡这三段峡谷叫作长江三峡。 4、长江是中国第一大河,全长6300多千米,水力资源丰富。正在建设的最大的水利工程是三峡工程。 5、长江从青海、四川、西藏、云南、重庆、湖北、湖南、江西、安徽、江苏、上海11个省级行政区流过...

使用BootStrap制作自使用的菜单(一)_用bootstrap建立一个适合移动设别使用的菜单和表单_明扬.的博客-程序员秘密

先看图这是大屏幕时这是小屏幕时这是小屏幕菜单展开时&amp;lt;!DOCTYPE html&amp;gt;&amp;lt;html lang=&quot;en&quot;&amp;gt;&amp;lt;head&amp;gt; &amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt; &amp;lt;!-- 在移动端不缩放 --&amp;gt; &amp;lt;meta name=&quot;viewport&q

php钩子程序设计_weixin_33978016的博客-程序员秘密

 序    作为程序员,设计出优雅而完美的系统,永远是让我们非常兴奋的事情。高手不在于你会多少语言,而在于你有多高的思想。   在设计中,怎么体现自身价值,那就是要比别人多想几步。   讲钩子程序,起源是对用户提交的参数校验(永远不要相信用户),一开始为了赶工期,按照比较传统的方式,每个接口里重复性的对参数进行过滤。后面随着业务的发展(功能迭代),系统的维护成本...

MyBatis 批量插入数据的 3 种方法_mybatis批量insert_佳佳乐2503的博客-程序员秘密

批量插入功能是我们日常工作中比较常见的业务功能之一,今天来一个 MyBatis 批量插入的汇总篇,同时对 3 种实现方法做一个性能测试,以及相应的原理分析。先来简单说一下 3 种批量插入功能分别是:循环单次插入;MP 批量插入功能;原生批量插入功能。准备工作开始之前我们先来创建数据库和测试数据,执行的 SQL 脚本如下:-- ------------------------------ 创建数据库-- ----------------------------SET NAMES utf

Python3中启动简易HTTPServer_python3 启动httpserver_1-programmer的博客-程序员秘密

Python中的简易的HTTPServer非常实用,但原Python2中的命令在Python3不再适用了。

随便推点

基于Matlab的缺陷识别检测系统_matlab缺陷检测_视觉那些事的博客-程序员秘密

为了全面提取全连接层的 特征,采用卷积神经网络的梯度直方图和局部二值模式提 取输出特征,同时对多个不同级联分类器依次进行训练, 将得到的分类结果进行决策融合,根据决策融合结果实现 零件表面缺陷检测。近年来,基于深度学习的表面缺陷检测技术广泛应用在各种工业场景中.本文对近年来基于深度学习的表面缺陷 检测方法进行了梳理,根据数据标签的不同将其分为全监督学习模型方法、无监督学习模型方法和其他方法三大类,并对各 种典型方法进一步细分归类和对比分析,总结了每种方法的优缺点和应用场景.。

Lab树莓派安装httpd,php和mysql_在putty中安装httpd_logicworldzju的博客-程序员秘密

教程目标:安装httpd+php+mysql ,以便在未来可以在树莓派上架设web服务器,实现一些有趣的应用。教程器材及软件:树莓派的板子。SD卡(已经有镜像刷入)。电源线及USB充电器。putty和psftp。(可以到http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html下载)有DHCP的网线。步

merge into用法mysql_Oracle中MERGE INTO的用法_向沙托夫问好的博客-程序员秘密

自从版本9i之后,对于“有则更新,无则插入”有了一个新的用法,不需要再执行2次SQL了。 merge 命令可以用来用一个表中的数据来自从版本9i之后,对于“有则更新,无则插入”有了一个新的用法,不需要再执行2次SQL了。merge 命令可以用来用一个表中的数据来修改或者插入到另一个表。插入或者修改的操作取决于on子句的条件。MERGE INTO本来应该是用来合并表的,不过因为其特性,根据用途不同可...

计算每个学生的课程总分和平均分_计算张文静所学课程的总分_好梦成真Kevin的博客-程序员秘密

[问题]从键盘任意输入m个学生n门课程的成绩,然后计算每个学生各门课的总分sum和平均分aver。下面程序存在一个极为隐蔽的错误,请分析错误的原因,并修改程序。如果这个程序你能分析明白错在哪里的话,那么用指针向用函数传递二维数组,你是真真地学明白了。#include &lt;stdio.h&gt;#define STUD 5 /* 最多可能的学生人数 */#define COURSE 3 /*最多可能的考试科目数 */void Total(int *score, int sum[], f...

剑指offer实践 ——33.二叉搜索树的后序遍历序列(python版)_跑酷的切克的博客-程序员秘密

文章目录题目一、何为二叉搜索树?二、思路题目从上到下打印二叉树一、何为二叉搜索树?二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。二、思路 1.后序遍历的最后一个节点为根节点 2.左子树一定是小于根节点的所有值

推荐文章

热门文章

相关标签