ans

liujunhao 2023-11-30 18:25:14 7 返回题目

#include<bits/stdc++.h>

using namespace std;

struct Segment { int start, end; };

bool compare(const Segment &a, const Segment &b) { return a.end < b.end; }

int main() {

int n;
cin >> n;
vector<Segment> segments(n);
for (int i = 0; i < n; i++) {
    cin >> segments[i].start >> segments[i].end;
}

sort(segments.begin(), segments.end(), compare);
int count = 0, currentEnd = -1;

for (int i = 0; i < n; i++) {
    if (segments[i].start >= currentEnd) {
        count++;
        currentEnd = segments[i].end;
    }
}

cout << count << endl;
return 0;

}

{{ vote && vote.total.up }}