#include<iostream>
#include<algorithm>
using namespace std;
struct program {
int begin;
int end;
}P[120];
bool cmp1(program l1, program l2) {
if (l1.begin != l2.begin)
return l1.begin > l2.begin;//先按左端点从大到小排序
else
return l1.end < l2.end;//左端点相同时,按照右端点从小到大排序
}
int main() {
int N, last_x, count = 0;
while (scanf_s("%d", &N), N != 0) {
for (int i = 0;i < N;i++) {
scanf_s("%d %d", &P[i].begin, &P[i].end);
}
sort(P, P + N, cmp1);
last_x = P[0].begin;
count=1;
for (int i = 1;i < N;i++) {
if (P[i].end <= last_x) {
count++;
last_x = P[i].begin;
}
}
printf("%d\n", count);
}
system("pause");
return 0;
}
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交