51 Nod 不重叠的线段

51 Nod 不重叠的线段

 

#include<bits/stdc++.h>
#define in(X) scanf("%d",&X)
#define out(X) printf("%d\n",X)
#define for(X) for(int i=0;i<X;i++)
typedef long long ll;
using namespace std;
int beg[10005];
int des[10005];
pair<int,int> pr[10005];
int main()
{
    int N;
    in(N);
    for(N)
    {
        in(beg[i]);
        in(des[i]);
        pr[i].first=des[i];
        pr[i].second=beg[i];
    }
    sort(pr,pr+N);
    int ans=0;int lastend=-(1e9)-1;
    for(N)
    {
        if(pr[i].second<lastend)continue;
        else {ans++;lastend=pr[i].first;}
    }
    out(ans);
    return 0;
}