今年暑假不AC
题解:准着贪心原则,越早结束的尽量先看。因此对结束时间排序,如果下一个节目的开始时间要大于当前节目的结束时间,那说明可以看一个节目。
代码
#include<bits/stdc++.h>
using namespace std;
struct tv{
int l,r;
bool operator < (const tv & u)const{
return r < u.r;
}
};
int main()
{
#ifndef ONLINE_JUDGE
freopen("input.in","r",stdin);
#endif
int n,l,r;
while(cin>>n && n){
vector<tv> v;
for(int i = 0; i < n; ++i){
cin>>l>>r;
v.push_back(tv{l,r});
}
sort(v.begin(),v.end());
int cnt = 1, pre = 0;
for(int i = 1; i < n; ++i){
if(v[pre].r <= v[i].l)
cnt++, pre = i;
}
cout<<cnt<<endl;
}
return 0;
}