当前位置: 首页 > news >正文

【贪心】电视节目安排

问题 W: 【贪心】电视节目安排

时间限制: 1 Sec  内存限制: 64 MB
提交: 22  解决: 16
[提交][状态][讨论版]

题目描述

李旭琳发现小墨老师在班上是最顽劣的学生(没有之一),但他也有安静的时候,例如在看电视的时候。像什么“谍战剧”啊,“翻拍剧”啊,“婆媳戏”啊,“后宫剧”啊都是他的最爱。他甚至会事先查询所有喜欢看的电视节目的转播时间表并煞有介事的用红蓝铅笔列出计划,然后合理安排,以看到尽量多的完整节目。

输入

输入数据包含多个测试实例,每个测试实例的第一行只有一个整数n(n≤100),表示喜欢看的节目的总数,然后是n行数据,每行包括两个数据Ti_s,Ti_e (1≤i≤n),分别表示第i个节目的开始和结束时间,为了简化问题,每个时间都用一个正整数表示。n=0表示输入结束,不做处理。

输出

对于每个测试实例,输出能完整看到的电视节目的个数,每个测试实例的输出占一行。

样例输入

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

样例输出

5

思路:贪心法:题目要求输出能看到的最多的完整的节目,首先需要按结束时间生序排序,当结束时间相同的,按开始时间升序排序。 然后从前往后计数。

代码:
#include <iostream>
#include <cstdio>
#include <algorithm>
 
using namespace std;
 
struct node{
    int begin;
    int end;
};
node tt[105];
 
int cmp(node a,node b){
    return a.end<b.end||a.end==b.end&&a.begin<b.begin;
}
 
int main()
{
    int n;
    int s=0;
    int k;
    while(scanf("%d",&n)!=EOF&&n){
        for(int i=0;i<n;i++){
        scanf("%d %d",&tt[i].begin,&tt[i].end);
        }
        sort(tt,tt+n,cmp);
        s+=1;
        k=0;
        for(int i=1;i<n;i++){
            if(tt[i].begin>=tt[k].end){
                s++;
                k=i;
            }
        }
        printf("%d\n",s);
        s=0;
    }
 
    return 0;
}
 
/**************************************************************
    Problem: 2227
    User: zz13
    Language: C++
    Result: 正确
    Time:0 ms
    Memory:1700 kb
****************************************************************/
 
         

 

 

转载于:https://www.cnblogs.com/TWS-YIFEI/p/5686609.html

相关文章:

  • zynq基础--verilog简易规则
  • 算法学习总结(二):选择排序
  • POJ - 1287 Networking
  • 【iOS】Jenkins Gitlab持续集成打包平台搭建
  • MySQL性能优化的最佳21条经验【转载】
  • 游戏引擎
  • Python的pip安装
  • 电Call记录统计查询sql
  • 数组操作
  • input输入类型
  • 连接优化查询,按条件查询的时候,如何优化查询的时间
  • 如何使用Enum
  • PHP.ini中配置屏蔽错误信息显示和保存错误日志
  • 设计模式的学习
  • 仿苹果原生头部动画
  • 收藏网友的 源程序下载网
  • [译] React v16.8: 含有Hooks的版本
  • Angularjs之国际化
  • echarts花样作死的坑
  • express + mock 让前后台并行开发
  • IP路由与转发
  • javascript从右向左截取指定位数字符的3种方法
  • React16时代,该用什么姿势写 React ?
  • Shadow DOM 内部构造及如何构建独立组件
  • SpringCloud集成分布式事务LCN (一)
  • vue从创建到完整的饿了么(18)购物车详细信息的展示与删除
  • 从@property说起(二)当我们写下@property (nonatomic, weak) id obj时,我们究竟写了什么...
  • 从零开始的webpack生活-0x009:FilesLoader装载文件
  • 关于for循环的简单归纳
  • 极限编程 (Extreme Programming) - 发布计划 (Release Planning)
  • 前端代码风格自动化系列(二)之Commitlint
  • 前端知识点整理(待续)
  • 悄悄地说一个bug
  • 问:在指定的JSON数据中(最外层是数组)根据指定条件拿到匹配到的结果
  • 消息队列系列二(IOT中消息队列的应用)
  • 一个普通的 5 年iOS开发者的自我总结,以及5年开发经历和感想!
  • ​草莓熊python turtle绘图代码(玫瑰花版)附源代码
  • #100天计划# 2013年9月29日
  • (10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】
  • (Oracle)SQL优化技巧(一):分页查询
  • (安卓)跳转应用市场APP详情页的方式
  • (附源码)spring boot智能服药提醒app 毕业设计 102151
  • (附源码)springboot高校宿舍交电费系统 毕业设计031552
  • (附源码)springboot人体健康检测微信小程序 毕业设计 012142
  • (过滤器)Filter和(监听器)listener
  • (论文阅读23/100)Hierarchical Convolutional Features for Visual Tracking
  • (免费领源码)Python#MySQL图书馆管理系统071718-计算机毕业设计项目选题推荐
  • (实战)静默dbca安装创建数据库 --参数说明+举例
  • (学习日记)2024.03.12:UCOSIII第十四节:时基列表
  • (一)Thymeleaf用法——Thymeleaf简介
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失
  • (转)可以带来幸福的一本书
  • .NET Core SkiaSharp 替代 System.Drawing.Common 的一些用法
  • .NET Micro Framework初体验
  • .Net Remoting常用部署结构