题目描述
数轴上有 nnn 条线段,选取其中 kkk 条线段使得这 kkk 条线段两两没有重合部分,问 kkk 最大为多少。
输入格式
第一行为一个正整数 nnn;
在接下来的 nnn 行中,每行有 222 个数 ai,bia_i, b_iai,bi,描述每条线段。
输出格式
输出一个整数,为 kkk 的最大值。
样例
样例输入
3
0 2
2 4
1 3
样例输出
2
1 //2018-08-09 20:03:29 2 #include <iostream> 3 #include <cstdio> 4 #include <cstring> 5 #include <algorithm> 6 using namespace std; 7 8 const int N = 1000001; 9 int n; 10 struct node{ 11 int l, r; 12 }a[N]; 13 14 bool cmp(node a, node b){ 15 return a.r < b.r; 16 } 17 int ans; 18 19 int main(){ 20 cin >> n; 21 for(int i=1; i<=n; i++){ 22 cin >> a[i].l >> a[i].r; 23 } 24 sort(a+1, a+n+1, cmp); 25 int ed = a[1].r; 26 for(int i=2; i<=n; i++){ 27 if(a[i].l >= ed){ 28 ed = a[i].r; 29 ans++; 30 } 31 } 32 printf("%d\n", ans+1); 33 34 return 0; 35 }