• 活动选择-贪心


    Description

      学校在最近几天有n个活动,这些活动都需要使用学校的大礼堂,在同一时间,礼堂只能被一个活动使。由于有些活动时间上有冲突,学校办公室人员只好让一些活动放弃使用礼堂而使用其他教室。
      现在给出n个活动使用礼堂的起始时间Bi和结束时间Ei(Bi < Ei),请你帮助办公室人员安排一些活动来使用礼堂,要求安排的活动尽量多。

    Input

     第一行一个整数n(n<=1000);
     接下来的n行,每行两个整数,第一个Bi,第二个是Ei(Bi< Ei <=32767)

    Output

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

    Sample Input

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

    Sample Output

    4


    思路

    • 按照结束时间从小到大排序

    代码

    #include <iostream>
    #include <algorithm>
    #include <cstdio>
    using namespace std;
    int n;
    struct fdfdfd{int x,y;}a[1005];
    bool cmp(fdfdfd a,fdfdfd b){return (a.y<b.y);}
    int main()
    {
    	scanf("%d",&n);
    	for(int i=1;i<=n;++i) scanf("%d%d",&a[i].x,&a[i].y);
    	sort(a+1,a+n+1,cmp);
    	int ans=1,t=a[1].y;
    	for(int i=2;i<=n;++i)
    		if(t<=a[i].x) ++ans,t=a[i].y;
    	printf("%d
    ",ans);
    	return 0;
    }
    
  • 相关阅读:
    剑指offer——包含min函数的栈
    剑指offer——顺时针打印矩阵
    剑指offer——二叉树的镜像
    剑指offer——树的子结构
    爬虫的单线程+多任务异步协程:asyncio 3.6
    爬虫中的模拟登陆,IP代理,线程池
    爬虫-数据解析
    爬虫基础
    Markdown语法
    Git
  • 原文地址:https://www.cnblogs.com/wuwendongxi/p/13337234.html
Copyright © 2020-2023  润新知