AC代码:
#include <stdio.h>#include <algorithm>using namespace std;struct node{ int l,r;}a[10005];int cmp(node x,node y){ if(x.r<y.r) return 1; else if(x.r==y.r&&x.l>y.l) return 1; return 0;//以结束时间早排序 }int main(){ int t,n; scanf("%d",&t); while(t--) { scanf("%d",&n); for(int i=0;i<n;i++) scanf("%d %d",&a[i].l,&a[i].r); sort(a,a+n,cmp); int ans=1; int min=a[0].r; for(int i=1;i<n;i++) { if(a[i].l>min) //大于最早开始时间的话,就能进行 { ans++; min=a[i].r;//最早开始时间就是上一个活动的结束时间 } } printf("%d\n",ans); } return 0;}