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


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

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=2037


    给出n个电视节目的开始时间和结束时间,
    要求合理安排如果看这些节目可以完整的看完更多节目


    策略是观看的节目的长度越短越好,也即节目越早结束我越想看它。
    将节目的结束时间由小到大排序,
    对于下一个节目,如果开始时间在上一个节目之后,那么这个节目也可以观看(反正它结束的比下一个早,可以多留时间给更下一个节目)
    贪心完成所有节目的选择即可


    #include<iostream>
    #include<algorithm>
    #include<cstdio>
    #include<cstring>
    using namespace std;
    typedef struct point{
        int x, y;
        bool operator < (const point& p) const{
            if(y == p.y) return x < p.x;
            else return y < p.y;
        }
        bool operator > (const point& p) const{
            return p < *this;
        }
    }p;
    p program[105];
    int n, End, num;
    
    int main(){
        while(scanf("%d", &n), n){
            num = 1;
            for(int i = 0; i < n; i++) scanf("%d%d", &program[i].x, &program[i].y);
            sort(program, program+n);
            //for(int i = 0; i < n; i++) printf("%d	%d
    ", program[i].x, program[i].y);
            End = program[0].y;
            for(int i = 1; i < n; i++){
                if(program[i].x >= End){
                    num++;
                    End = program[i].y;
                }
            }
            printf("%d
    ", num);
        }
        return 0;
    }
    

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    Sqlite数据库sqlite3命令
    cerr
    include 尖括号和双引号
    C程序存储空间布局——各数据段的内存位置
    贪心算法
    CodeBlocks
    O(n)是什么
    微软公司面试题
    CSS3---结构性伪类选择器—not
    CSS3---结构性伪类选择器-root
  • 原文地址:https://www.cnblogs.com/miaowTracy/p/4836756.html
Copyright © 2020-2023  润新知