main.cpp 887 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #include <iostream>
  2. #include<algorithm>
  3. #include <vector>
  4. using namespace std;
  5. struct Pair {
  6. int start;
  7. int end;
  8. };
  9. bool compare(Pair a, Pair b) {
  10. return a.end < b.end;
  11. }
  12. int maxPart(vector<Pair> pairs) {
  13. if (pairs.size() < 1) {
  14. return 0;
  15. }
  16. sort(pairs.begin(), pairs.end(), compare);
  17. int result = 1;
  18. int start = pairs[0].end;
  19. for (int i = 1; i < pairs.size(); i++) {
  20. if (pairs[i].start >= start) {
  21. start = pairs[i].end;
  22. result++;
  23. }
  24. }
  25. return result;
  26. }
  27. int main() {
  28. int n;
  29. while (cin >> n) {
  30. if (n < 1) {
  31. continue;
  32. }
  33. vector<Pair> pairs;
  34. for (int i = 0; i < n; i++) {
  35. Pair pair;
  36. cin >> pair.start >> pair.end;
  37. pairs.push_back(pair);
  38. }
  39. cout << maxPart(pairs) << endl;
  40. }
  41. return 0;
  42. }