• HDU_oj_2037 今年暑假不AC


     

    Problem Description
     
    XXXXXX
    (失踪的 HDU_oj_2038)
     
    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 <iostream>  
    #include <algorithm>     
    #define MAXN 100  
    using namespace std; 
    
    struct node {  
        int start;  
        int end;  
    } record[MAXN];  
      
    bool cmp(const node& a, const node& b)  
    {  
        return (a.end<b.end);  
    }  
    int main() { int n,count,lastend; while(cin>>n && n) { for(int i=0; i<n; i++) cin >> record[i].start >> record[i].end; sort(record,record + n,cmp); // 贪心法处理:后一个起始时间必须大于或等于前一个终止时间 count = 0; lastend = -1; for(int i=0;i<n;i++) { if(record[i].start >= lastend) { count++; lastend = record[i].end; } } cout << count << endl; } }
     
  • 相关阅读:
    一位年轻女董事长的忠告:不想穷下去就请看
    Ajax拓展02
    Ajax拓展
    Ajax概念及基础
    PHP了解01
    CSS3新增功能03
    CSS3新增功能02
    CSS3新增功能01
    html5介绍
    jQuery学习03
  • 原文地址:https://www.cnblogs.com/tenjl-exv/p/8011706.html
Copyright © 2020-2023  润新知