終于到周末了,明明是特别喜歡看電影。他想在一天内盡量多的看到完整的多部電影。 現在他把他喜歡的電影的播放時間表給你,希望你能幫他合理安排。
輸入格式:
輸入包含多組測試資料。每組輸入的第一行是一個整數n(n<=100),表示明明喜歡的電影的總數。 接下來n行,每行輸入兩個整數si和ei(1<=i<=n),表示第i個電影的開始和結束時間,為了簡化問題,每個時間都用一個正整數表示。 當n=0時,輸入結束。
輸出格式:
對于每組輸入,輸出能完整看到的電影的個數。
輸入樣例:
在這裡給出一組輸入。例如:
12
1 3
3 4
0 7
3 8
15 19
15 20
10 15
8 18
6 12
5 10
4 14
2 9
輸出樣例:
在這裡給出相應的輸出。例如:
5
#include<stdio.h>
#include<iostream>
#include<cstring>
#include<algorithm>
#include<set>
using namespace std;
typedef struct movie{
int si;
int ei;
};
int comp(movie a,movie b){
return a.ei<b.ei;
}
int main(){
int n;
movie m[100];
while(~scanf("%d",&n)){
if(n==0)
{
break;
}
for(int i=0;i<n;i++){
scanf("%d %d",&m[i].si,&m[i].ei);
}
sort(m,m+n,comp);
int sum=1;
int end=m[0].ei;
for(int i=1;i<n;i++){
if(m[i].si>=end){
sum++;
end=m[i].ei;
}
}
printf("%d\n",sum);
}
return 0;
}