很简单的一道贪心题
只是中间结构体的快排不太熟悉花费了一点时间
#include<stdio.h>
#include<stdlib.h>
struct pro{
int start;
int end;
}ti[105];
int cmp( const void* a, const void* b){
return ((struct pro*)a)->end > ((struct pro*)b)->end ? 1 : -1;
}
int main(void){
int n, i;
int num, temp;
while( scanf("%d", &n), n != 0){
for( i = 0; i < n; i++){
scanf("%d%d", &ti[i].start, &ti[i].end);
}
qsort( ti, n, sizeof(struct pro), cmp);
num = 1;
temp = ti[0].end;
for( i = 1; i < n; i++){
if( ti[i].start >= temp){
num++;
temp = ti[i].end;
}
}
printf("%d\n", num);
}
return 0;
}