数轴上有 nnn 条线段,选取其中 kkk 条线段使得这 kkk 条线段两两没有重合部分,问 kkk 最大为多少。
#include<bits/stdc++.h>
using namespace std;
int n,ans,i,ed;
struct node
{
int l,r;//分别表示线段的起点和终点
}XD[1000010];
bool cmp(node a,node b)
{
//根据线段终点从小到大排序
______(1)__________
}
int main()
{
scanf("%d",&n);
//读入每个线段的起点和终点
for(i=1;i<=n;i++)
scanf("%d%d",_____(2)_____);
//自定义排序
sort(XD+1,XD+n+1,cmp);
//统计不重叠的线段
ed=XD[1].r;
ans=1;
for(i=2;i<=n;i++)
{
//当前线段的起点大于前一个线段的终点
if(____(3)_____)
{
ed=XD[i].r;
ans++;
}
}
//输出答案
printf("%d\n",____(4)_____);
return 0;
}