fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define ff first
  4. #define ss second
  5. #define pb push_back
  6. #define all(var) var.begin(),var.end()
  7. #define f(i,l,n) for(int i=l;i<n;i++)
  8. #define revloop(var,l,n) for(int var=l;var>=n;var--)
  9. #define scan(var) scanf("%d",&var)
  10. #define scan2(var,var2) scanf("%d %d",&var,&var2)
  11. #define scanvector(var,n) f(i,0,n)scanf("%d",&var[i])
  12. #define printvector(var,n) f(i,0,n)printf("%d ",var[i]);printf("\n")
  13. #define scanvectorlong(var,n) f(i,0,n)scanf("%lld",&var[i])
  14. #define printvectorlong(var,n) f(i,0,n)printf("%lld ",var[i]);printf("\n")
  15. #define print(var) printf("%d\n",var)
  16. #define print2(var,var2) printf("%d %d\n",var,var2)
  17. #define mp(var,var2) make_pair(var,var2)
  18. #define ll long long
  19. #define pairint pair<int,int>
  20. #define pairlong pair<long long,long long>
  21. #define debug(zz) cout<<#zz<<" == "<<zz<<endl;
  22. #define M 1000000007
  23.  
  24.  
  25. //bool prime[1000001]; void primearray(){memset(prime,1,sizeof(prime));prime[0] = prime[1] = false;for(int i = 2; i * i < sizeof(prime); i++) if(prime[i])for(int j = i * 2; j < sizeof(prime); j += i) prime[j] = false;}
  26.  
  27. bool cmp(pairint a,pairint b)
  28. {
  29. if(a.ss==b.ss)return a.ff<b.ff;
  30. return a.ss<b.ss;
  31. }
  32. int main()
  33. {
  34. // primearray();
  35.  
  36.  
  37. int t;
  38. scan(t);
  39. while(t--)
  40. {
  41. int n;
  42. scan(n);
  43. vector< pair<int,int> >v(n,mp(0,0));
  44. f(i,0,n)scanf("%d %d",&v[i].ff,&v[i].ss);
  45.  
  46. sort(all(v),cmp);
  47.  
  48. int count=1;
  49. int curr=v[0].ss;
  50. f(i,1,n)
  51. {
  52. if(v[i].ff>=curr)
  53. {
  54. ++count;
  55. curr=v[i].ss;
  56. }
  57.  
  58. }
  59. cout<<count<<endl;
  60.  
  61. }
  62.  
  63.  
  64. }
Success #stdin #stdout 0s 4324KB
stdin
Standard input is empty
stdout
Standard output is empty