http://acm.hdu.edu.cn/showproblem.php?pid=2037
#include <bits/stdc++.h>
using namespace std;
int N;
int s[111], t[111];
pair<int, int> itv[111];
void solve() {
for(int i = 1; i <= N; i ++) {
itv[i].first = t[i];
itv[i].second = s[i];
}
sort(itv + 1, itv + N + 1);
int ans = 0, timee = 0;
for(int i = 1; i <= N; i ++) {
if(timee <= itv[i].second) {
ans ++;
timee = itv[i].first;
}
}
printf("%d\n", ans);
}
int main() {
while(~scanf("%d", &N)) {
if(!N) break;
for(int i = 1; i <= N; i ++)
scanf("%d%d", &s[i], &t[i]);
solve();
}
return 0;
}
原文:https://www.cnblogs.com/zlrrrr/p/9536397.html