题目链接:​​今年暑假不AC​

题目大意:有n个电视节目,给你开始时间和结束时间,在一个时间段只能看一个电视节目,问最多可以看多少个节目

题目思路:按结束时间排序后直接贪,简单题,因为我们需要节目尽可能多,所以当然我们看的每个节目越短越好,那么我们肯定选结束时间早的,然后判断一下重叠就好了

#include <bits/stdc++.h>

using namespace std;

struct node{
int l,r;
}p[105];

bool cmp(node a,node b){
return a.r < b.r;
}

int main(){
int n;
while(~scanf("%d",&n)&&n){
for(int i = 0;i < n;i++)
scanf("%d%d",&p[i].l,&p[i].r);
sort(p,p+n,cmp);
int ans = 1,maxx = p[0].r;
for(int i = 1;i < n;i++){
if(p[i].l >= maxx)
ans++,maxx = p[i].r;
}
printf("%d\n",ans);
}
return 0;
}