按照结束时间从早到晚看,要是当前时间小于开始时间,则可以看。每次看完时间变为结束时间。
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
struct Program{
int start;
int end;
};
Program programs[101];
bool cmp(Program a, Program b){
return a.end < b.end;
}
int main(){
int n;
int ans, now;
while (cin >> n) {
if(n == 0) break;
ans = 0;
now = 0;
for(int i = 0; i < n; i++){
cin >> programs[i].start >> programs[i].end;
}
sort(programs, programs + n, cmp);
// for(int i = 0; i < n; i++){
// cout << programs[i].end << endl;
// }
for(int i = 0; i < n; i++){
if(now <= programs[i].start){
//cout << programs[i].start << endl;
now = programs[i].end;
ans++;
}
}
cout << ans << endl;
}
return 0;
}
京公网安备 11010502036488号