• 百炼oj-4151:电影节


    总时间限制: 
    1000ms
     
    内存限制: 
    65536kB
    描述

    大学生电影节在北大举办! 这天,在北大各地放了多部电影,给定每部电影的放映时间区间,区间重叠的电影不可能同时看(端点可以重合),问李雷最多可以看多少部电影。

    输入
    多组数据。每组数据开头是n(n<=100),表示共n场电影。
    接下来n行,每行两个整数(0到1000之间),表示一场电影的放映区间
    n=0则数据结束
    输出
    对每组数据输出最多能看几部电影
    样例输入
    8
    3 4
    0 7 
    3 8 
    15 19
    15 20
    10 15
    8 18 
    6 12 
    0
    
    样例输出
    3
    来源
    Guo Wei
    此题是贪心算法,只要先将所有电影按照结束时间从小到达排序,之后再遍历所有电影看下一部电影是否符合即可。
    #include <iostream>
    #include <algorithm>
    using namespace std;
    struct film
    {
        int begin;
        int end;
    };
    bool cmp(film a,film b)
    {
        if(a.end!=b.end)
        {
            return a.end<b.end; //按结束时间从小往大排序
        }
    }
    int main() {
        int num;
        film f[105];
        while(cin >> num && num != 0)
        {
            for(int i=0;i<num;i++)
            {
                cin>>f[i].begin>>f[i].end;//输入数据
            }
            int t = 1;
            sort(f,f+num,cmp);//排序
            int current_end = f[0].end;
            for(int i=1;i<num;i++)
            {
                if(f[i].begin>=current_end)
                {
                    current_end = f[i].end;
                    t++;
                }
            }
            cout<<t<<endl;
        }
        return 0;
    }
    

      

  • 相关阅读:
    Vue中v-on的指令以及一些其他指令
    Vue模板语法中数据绑定
    Vue介绍以及模板语法-插值
    JQ中的Ajax的封装
    跨域问题的解决?
    Ajax的快速入门
    如何使用npm的部分用法以及npm被墙的解决方法
    使用Node.js简单创建一个服务器
    机智云连接ESP8266--远程控制点亮RGB灯
    1、索引的概念和分类
  • 原文地址:https://www.cnblogs.com/SK1997/p/9002232.html
Copyright © 2020-2023  润新知