区间问题+贪心

E-Graph_2022年“蓝桥杯”上海理工大学校选赛(重现赛) (nowcoder.com)

#include <iostream>
#include <cstdio>
#include <algorithm>
#define ll long long
 
using namespace std;
const int N = 1e5 + 10;
pair<int, int> a[N];
int n, m;
int main() 
{
    cin >> n >> m;
    for(int i = 1; i <= m; ++ i) {
        int x, y;
        scanf("%d %d", &x, &y);
        if(x < y) swap(x, y);
        a[i] = {x, y};
    }
    sort(a + 1, a + m + 1);
    int lim = a[1].first;
    int ans = 1;
    for(int i = 2; i <= m; ++ i) 
    {
        if(a[i].second < lim) continue;
        lim = a[i].first;
        ans ++;
    }
    cout<<ans<<endl;
}

posted @ 2022-05-05 08:41  光風霽月  阅读(21)  评论(0编辑  收藏  举报