zoukankan      html  css  js  c++  java
  • 百炼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;
    }
    

      

  • 相关阅读:
    react中this.setState的理解
    expo:wraning remotedebugger is in a...cause apps to perform slowly
    expo:java.net.socketExcrption:No route to host
    redux的中间件
    js中this的指向
    微信小程序之模板/组件的使用
    js判断手机端
    微信小程序轮播图
    scrollbar样式设置
    CSS绝对定位元素居中的几种方法
  • 原文地址:https://www.cnblogs.com/SK1997/p/9002232.html
Copyright © 2011-2022 走看看