提交时间:2024-03-02 10:34:18

运行 ID: 133913

#include <iostream> #include <algorithm> using namespace std; struct node{ int l,r; }a[105]; bool cmp(node a,node b){ if (a.r==b.r) return a.l<b.l; return a.r<b.r; } int main(){ int t;cin >> t; while (t--){ int n; cin >> n; for (int i = 1;i<=n;i++){ int u,uu; cin >> u >> uu; a[i].l=u; a[i].r=uu; } sort(a+1,a+n+1,cmp); int Last = a[1].r; int cnt = 1; for (int i = 2;i<=n;i++){ if (a[i].r>=Last&&a[i].l<=Last){ continue; } else if (a[i-1].l>=a[i].l&&a[i].r<Last){ Last = a[i].r; } else{ cnt++; Last = a[i].r; } } cout << cnt << endl; } }