大学生电影节在北大举办! 这天,在北大各地放了多部电影,给定每部电影的放映时间区间,区间重叠的电影不可能同时看(端点可以重合),问李雷最多可以看多少部电影。
Input
多组数据。每组数据开头是n(n<=100),表示共n场电影。
接下来n行,每行两个整数(0到1000之间),表示一场电影的放映区间
n=0则数据结束
Output
对每组数据输出最多能看几部电影
Sample Input
8 3 4 0 7 3 8 15 19 15 20 10 15 8 18 6 12 0
Sample Output
3
#include<iostream>
#include<algorithm>
using namespace std;
struct movie
{
/* data */
int s,e;
bool operator <(const movie &t){
return e<t.e;
}
}movie[101];
int main(){
int n;
int sum;
while (cin>>n&&n!=0)
{
/* code */
for(int i=1;i<=n;i++){
cin>>movie[i].s>>movie[i].e;
}
sort(movie[1],movie[1+n]);
sum=0;
int end=movie[1].e;
sum++;
for(int i=2;i<=n;i++){
if(movie[i].s>=end){
sum++;
end=movie[i].e;
}
}
cout<<sum<<endl;
}
return 0;
}