活动选择

原创 2013年12月04日 21:53:46

Problem Description

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

Input

输入有多组数据,每组数据的第一行一个整数n(n<=1000);接下来的n行,每行两个整数,第一个begini,第二个是endi(begini<endi<=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<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
struct ss
{
    int x,y;
}p[1010];
bool cmp(ss a,ss b)
{
    if(a.y!=b.y) return a.y<b.y;
    else if(a.x!=b.x) return a.x<b.x;
}
int main()
{
    //freopen("a.txt","r",stdin);
    int n;
    while(scanf("%d",&n)!=EOF)
    {
        int i;
        for(i=0;i<n;i++)
            scanf("%d%d",&p[i].x,&p[i].y);
        sort(p,p+n,cmp);
        int a=p[0].y,cnt=1;
        for(i=1;i<n;i++)
           if(a<=p[i].x) 
           {
               cnt++;
               a=p[i].y;
           }
        printf("%d\n",cnt);
    }
    return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

算法实验活动选择问题

贪心算法与活动选择问题

有一个n个活动的集合S={a1, a2, … , an},这些活动使用同一个资源,而这个资源在某个时刻只能供一个活动使用。

活动选择问题(贪心)

贪心

算法导论 第16章 贪心算法-活动选择问题C++实现

参考:[1]Anker—学习成长笔记《算法导论》读书笔记之第16章 贪心算法—活动选择问题 #include #include #include #include #define N 11//...

《算法导论》之 贪心算法—活动选择问题

前言:贪心算法也是用来解决最优化问题,将一个问题分成子问题,在现在子问题最优解的时,选择当前看起来是最优的解,期望通过所做的局部最优选择来产生一个全局最优解。书中先从活动选择问题来引入贪心算法,分别采...

sdut.acm活动选择问题

解析: 本题采用贪心策略。 用begin[] end[]分别表示活动的开始时刻和结束时刻。每一个事件的开始时刻一定小于结束时刻。即begin[i]   例如三个事件a.b.c(a 具体讲: ...

sdutacm-活动选择

山东理工acm平台题解
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)