2892: I--免费看电影
时间限制: 1 Sec 内存限制: 128 MB
提交: 30 解决: 12
题目描述
万象城星美影院开业1周年了,要举行为期一天的大酬宾,ACM队员准备去看电影。已知电影院的播放电影的各个时间阶段。要求ACM队员如何安排自己的时间,使得看的电影场次最多。
输入
测试数据第一行为n(n>=0),表示电影的场次;接着是n行,每行有两个整数,表示每场电影开始时间与结束时间。
输出
输出ACM队员最多能看的电影场次。
样例输入
11
11 14
13 15
12 14
12 13
8 10
15 17
14 18
15 19
18 22
18 21
16 20
样例输出
5
你 离 开 了 , 我 的 世 界 里 只 剩 下 雨 。 。 。
#include <iostream>
#include <algorithm>
using namespace std;
struct dian
{
int a1;
int en;
};
dian my[111];
bool comp(dian a,dian b)
{
if(a.a1!=b.a1)return a.en<b.en;
return a.a1<b.a1;
}
int main()
{
int n,i;
cin>>n;
for(i=0; i<n; ++i)
cin>>my[i].a1>>my[i].en;
sort(my,my+n,comp);
int sum=1,t;
t=my[0].en;
for(i=0; i<n; ++i)
if(t<=my[i].a1)
{
sum++;
t=my[i].en;
}
if(n==0)sum=0;
cout<<sum<<endl;
return 0;
}
#include <algorithm>
using namespace std;
struct dian
{
int a1;
int en;
};
dian my[111];
bool comp(dian a,dian b)
{
if(a.a1!=b.a1)return a.en<b.en;
return a.a1<b.a1;
}
int main()
{
int n,i;
cin>>n;
for(i=0; i<n; ++i)
cin>>my[i].a1>>my[i].en;
sort(my,my+n,comp);
int sum=1,t;
t=my[0].en;
for(i=0; i<n; ++i)
if(t<=my[i].a1)
{
sum++;
t=my[i].en;
}
if(n==0)sum=0;
cout<<sum<<endl;
return 0;
}