贪心算法即可
#include<iostream>
#include<stdio.h>
#include<algorithm>
using namespace std;
const int Maxn=100000;
typedef pair<int ,int > p;
p c[Maxn];
int cmp(const p &a,const p &b)
{
if(a.second<b.second)
return 1;
else
return 0;
}
int main()
{
int n;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
cin>>c[i].first;
cin>>c[i].second;
}
sort(c,c+n,cmp);
for(int i=0;i<n;i++)
{
cout<<c[i].first<<"\t";
cout<<c[i].second<<endl;
}
int ans=0,flag=0;
ans++;
for(int i=1;i<n;i++)
{
if(c[i].first>c[flag].second)
{
ans++;
flag=i;
cout<<flag<<endl;
}
}
cout<<"ans is"<<ans<<endl;
return 0;
}