check the pro:http://acm.hdu.edu.cn/showproblem.php?pid=2037
see the code:
#include<iostream>
#include<vector>
#include<list>
#include<algorithm>
#include<cstddef>
using namespace std;
struct time1{
int start;
int end;
};
bool comxy(time1 a,time1 b){
return a.end<b.end;
}
int main()
{
int n;
vector<time1> a;
while(cin>>n&&n!=0)
{
for(int i=0;i<n;i++)
{
time1 tmp;
cin>>tmp.start>>tmp.end;
a.push_back(tmp);
}
stable_sort(a.begin(),a.end(),comxy);
int cn=1;
time1 s=a[0];
int endtime=s.end;
for(vector<time1>::size_type i=1;i!=a.size();i++)
{
time1 tmp=a[i];
if(tmp.start>=endtime)
{
endtime=tmp.end;
cn++;
}
}
cout<<cn<<endl;
a.clear();
}
return 0;
}