#include <bits/stdc++.h>
using namespace std;
struct node{
int left;
int right;
}a[200010];
int n,ans=1;
bool cmp(node A,node B)
{
return A.right<B.right;
}
int main() {
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i].left>>a[i].right;
}
sort(a+1,a+n+1,cmp);
int tmp=1;
for(int j=2;j<=n;j++)
{
if(a[tmp].right<=a[j].left) {tmp=j;ans++;}
else continue;
}
cout<<ans;
}
/* 时间刻度
0 1 2 3 4 5 6 7 8 9 10 11
1 3
1 4
3 5
按照活动最晚结束时间进行右侧排序
如果i个活动的最晚结束时间小于或等于i+1个活动的最早开始时间,就数量加1(统计数量要从1开始,因为要包含i本身)
否则跳过,进行下一次循环。
*/



京公网安备 11010502036488号