#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

 
bool compare(const pair<int, int>& a, const pair<int, int>& b) {
        return a.second < b.second;
    }

int main() {
    int n;
    cin >> n;
    vector<pair<int,int>> act(n);
    for(int i = 0 ;i<n;i++){
        int t1,t2;
        cin>>t1>>t2;
        act[i].first = t1;
        act[i].second = t2; 
    }

    //按照结束时间进行排序
    sort(act.begin(),act.end(),compare);


    int count =0;
    int lasttime = 0;
    for(auto activities:act){
        if(activities.first>=lasttime){
            count++;
            lasttime = activities.second;
        }
    }
    cout << count << endl;
    
    return 0;
}

贪心算法,与主持人(一)的题目比较像,安排n个活动,利用pair收录数据,然后按照结束时间的先后进行全数组排序,排序后遍历,如果当前遍历的数组开始时间晚于上一个的结束时间,那么计数加一,对结束时间进行更新,如果没有,跳过。返回计数结果即可。