杭电OJ2037 今年暑假不AC

很简单的一道贪心题

只是中间结构体的快排不太熟悉花费了一点时间

#include
#include
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;
}

你可能感兴趣的:(贪心)