提交时间:2024-03-25 22:06:56

运行 ID: 139802

#include<bits/stdc++.h> using namespace std; int t; int n; struct point { int l; int r; }; point v[110]; int sum; int last; bool cmp(point x,point y) { if(x.l!=y.l) { return x.l<y.l; } return x.r>y.r; } int Max; int main() { cin>>t; while(t--) { cin>>n; Max=0; for(int i=1;i<=n;i++) { cin>>v[i].l; cin>>v[i].r; Max=max(Max,v[i].r); } sort(v+1,v+n+1,cmp); last=v[1].r; sum=1; for(int i=2;i<=n;i++) { if(last+1<v[i].l) { last=v[i-1].r; sum++; } } cout<<sum+(last!=Max ? 1 : 0); cout<<endl; } return 0; }