提交时间:2024-03-02 18:02:39
运行 ID: 134789
#include<bits/stdc++.h> using namespace std; struct section { int l; int r; bool operator < (const section &s) const { if(r!=s.r) return r<s.r; return l>s.l; } }; vector<section> a; void del(int &p) { for(vector<section>::iterator it=a.begin();it!=a.end();) { if((*it).l<=p&&(*it).r>=p) it=a.erase(it); else { it++; } } } int main(int argc, char** argv) { int n,n2,j; cin>>n2; for(j=1;j<=n2;j++) { scanf("%d",&n); section b; for(int i=0;i<n;i++) { scanf("%d %d",&b.l,&b.r); a.push_back(b); } sort(a.begin(),a.end()); int count=0; int p; while(a.size()!=0) { p=a[0].r; del(p); count++; } cout<<count<<endl; } return 0; }