代码及分析
#include <cstring>
#include <algorithm>
#include <cstdio>
//好几天之前 A 的题,
//今天补博客的时候已经忘了当时怎么做的了
//只是记得这道题很简单,一次就 A 了……
//简单的贪心,也没有坑……
int n;
int ans;
int maxn;
struct s {
int l,r;
} h[101];
bool cmp(s x,s y) {
return x.r < y.r;
}
int main() {
while(1) {
scanf("%d", &n);
if (!n) break;
ans = 0;
maxn = -1;
memset(h, 0, sizeof(h));
for(int i = 0; i < n; i++)
scanf("%d %d",&h[i].l,&h[i].r);
//按照结束时间贪心
std::sort(h, h + n, cmp);
//尽可能排之前的
for(int i = 0; i < n; i++)
if(h[i].l >= maxn) {
ans++;
maxn=h[i].r;
}
printf("%d\n",ans);
}
return 0;
}