贪心,根据右区间排序
#include<iostream>
#include<queue>
#include<vector>
#include<stack>
#include<algorithm>
#include<cmath>
#include<set>
#include<map>
#include<cstdio>
using namespace std;
typedef struct node{
int x,y;
}node;
bool cmp(node n1,node n2){
return n1.y<n2.y;
}
int main(){
int n;
cin>>n;
node n1[10000+10];
for(int i=0;i<n;i++) scanf("%d%d",&n1[i].x,&n1[i].y);
sort(n1,n1+n,cmp);
int sum=1,pro=n1[0].y;
for(int i=1;i<n;i++){
if(n1[i].x>=pro){
sum++;
pro=n1[i].y;
}
}
cout<<sum<<endl;
return 0;
}