#include<iostream>
#include<stdio.h>
#include<algorithm>
using namespace std;
struct Showprogram{
int start;
int end;
bool operator < (const Showprogram& s)const{
return end<s.end;//重载小于,保证sort函数能够按照结束时间升序排序
}
}buf[100];
int main(){
int n;
while(scanf("%d",&n)!=EOF){
if(n==0)break;
for(int i = 0;i<n;i++)
{
scanf("%d%d",&buf[i].start,&buf[i].end);
}
sort(buf,buf+n);//按照升序时间排序
int currenttime=0,ans=0;//记录当前时间变量初始值0,答案计数初始值为0
for(int i = 0;i<n;i++)
{
if(currenttime<=buf[i].start)//确定节目的结束时间 作为下一个节目开始的判断
{
currenttime=buf[i].end;
ans++;
}
}
printf("%d\n",ans);
}
return 0;
}
#include<stdio.h>
#include<algorithm>
using namespace std;
struct Showprogram{
int start;
int end;
bool operator < (const Showprogram& s)const{
return end<s.end;//重载小于,保证sort函数能够按照结束时间升序排序
}
}buf[100];
int main(){
int n;
while(scanf("%d",&n)!=EOF){
if(n==0)break;
for(int i = 0;i<n;i++)
{
scanf("%d%d",&buf[i].start,&buf[i].end);
}
sort(buf,buf+n);//按照升序时间排序
int currenttime=0,ans=0;//记录当前时间变量初始值0,答案计数初始值为0
for(int i = 0;i<n;i++)
{
if(currenttime<=buf[i].start)//确定节目的结束时间 作为下一个节目开始的判断
{
currenttime=buf[i].end;
ans++;
}
}
printf("%d\n",ans);
}
return 0;
}