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;
}
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态