来呀,贪心呀~
原题链接https://nuoyanli.com/contest/33/problem/G
选取最早结束,最晚开始的节目。
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cmath>
#include<iostream>
#include<algorithm>
using namespace std;
struct node
{
long long s;
long long e;
}stu[10005];
bool cmp(node x,node y)
{
if(x.e==y.e)
{
return x.s>y.s;
}
return x.e<y.e;
}
int main()
{
long long m;
scanf("%lld",&m);
while(m--)
{
long long n;
scanf("%lld",&n);
long long i,j;
for(i=0;i<n;i++)
{
scanf("%lld %lld",&stu[i].s,&stu[i].e);
}
sort(stu,stu+n,cmp);
long long sum=1;
j=0;
for(i=1;i<n;i++)
{
if(stu[i].s>=stu[j].e+1)
{
sum++;
j=i;
}
}
printf("%lld\n",sum);
}
return 0;
}