zoukankan      html  css  js  c++  java
  • 【例6.5】活动选择

    【例6.5】活动选择

    链接:http://ybt.ssoier.cn:8088/problem_show.php?pid=1323
    时间限制: 1000 ms         内存限制: 65536 KB

    【题目描述】

    学校在最近几天有n个活动,这些活动都需要使用学校的大礼堂,在同一时间,礼堂只能被一个活动使用。由于有些活动时间上有冲突,学校办公室人员只好让一些活动放弃使用礼堂而使用其他教室。

      现在给出n个活动使用礼堂的起始时间begini和结束时间endi(begini < endi),请你帮助办公室人员安排一些活动来使用礼堂,要求安排的活动尽量多。

    【输入】

    第一行一个整数n(n<=1000);

    接下来的n行,每行两个整数,第一个begini,第二个是endi(begini< endi <=32767)。

    【输出】

    输出最多能安排的活动个数。

    【输入样例】

    11
    3 5
    1 4
    12 14
    8 12
    0 6
    8 11
    6 10
    5 7
    3 8
    5 9
    2 13

    【输出样例】

    4
    题解:按结束时间排序能在结束前多选就多选
    #include<iostream>
    #include<cstring>
    #include<cstdio>
    #include<algorithm>
    using namespace std;
    struct node{
        int st,ed;
    };
    node p[1005];
    bool cmp(node A,node B)
    {
        if(A.ed==B.ed)return A.st<B.st;
        return A.ed<B.ed;
    }
    int  main()
    {
        int n,ans=1;
        cin>>n;
        for(int i=1;i<=n;i++)cin>>p[i].st>>p[i].ed;
        sort(p+1,p+1+n,cmp);
        int t=p[1].ed;
        for(int i=2;i<=n;i++)
            if(p[i].st>=t)
            {
                ans++;t=p[i].ed;
            }
        cout<<ans<<endl;
    }
  • 相关阅读:
    Linux培训教程lgzip命令详解和使用实例
    Linux 新手应该知道的一些求助命令
    “变态教育创导者”兄弟连教育新三板挂牌上市
    linux中more命令如何使用
    html上标与下标应用
    linux命令大全之cal命令详解(显示日历)
    成为java高手的八大条件
    mysql 1055
    MySQL更改口令报错ERROR 1064
    centos7.5 安装mysql8.0
  • 原文地址:https://www.cnblogs.com/EdSheeran/p/7858210.html
Copyright © 2011-2022 走看看