题目的输入,按结束时间从早到晚排序,上一行为start开始,下一行为end结束时间,cur用来保存下一个start比较的end。
#include<iostream>
#include<algorithm>
using namespace std;
struct Node{
int start;
int end;
}node[100];
int cmp(struct Node a, struct Node b) {
return a.end<b.end;
}
int main()
{
int n;
while(scanf("%d",&n)!=EOF && n!=0) {
for(int i=0;i<n;i++) {
scanf("%d%d",&node[i].start,&node[i].end);
}
sort(node,node+n,cmp);
int sum=1;
int cur=0;
for(int i=1;i<n;i++) {
if(node[i].start>=node[cur].end) {
sum++;
cur = i;
}
}
printf("%d\n",sum);
}
return 0;
}