Bailian4151 电影节贪心

Posted 海岛Blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Bailian4151 电影节贪心相关的知识,希望对你有一定的参考价值。

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

问题链接Bailian4151 电影节
问题简述:(略)
问题分析:贪心问题。给的是电影的开演和结束时间,按结束时间进行排序,只要时间不重叠就计数。
程序说明:使用pair来表示是最为方便的,排序也很方便。
参考链接:(略)
题记:(略)

AC的C++语言程序如下:

/* Bailian4151 电影节 */

#include <bits/stdc++.h>

using namespace std;

const int N = 100;
pair<int, int> p[N];

int main()
{
    int n;
    while (~scanf("%d", &n) && n) {
        for (int i = 0; i < n; i++)
            scanf("%d%d", &p[i].second, &p[i].first);

        sort(p, p + n);

        int ans = 0, end = 0;
        for (int i = 0; i < n; i++)
            if (end <= p[i].second)
                ans++, end = p[i].first;

        printf("%d\\n", ans);
    }

    return 0;
}

以上是关于Bailian4151 电影节贪心的主要内容,如果未能解决你的问题,请参考以下文章

ACM - 贪心(经典母题+POJ一些练习题)

百炼oj-4151:电影节

贪心 - bailian4137:最小新整数

Bailian2950 摘花生贪心

Bailian2950 摘花生贪心

Bailian3470 整理扑克牌贪心+二分