codeforces 597B

来源:互联网 发布:群发短信软件 免费 编辑:程序博客网 时间:2024/06/15 08:57

题意:给出每一个订单的时间,求出在时间不重叠的情况下,最多能接多少单、

思路:排序贪心、,你想要不重叠的数量最多,那么肯定先结束的肯定要先做,水题了

#include<cmath>#include<algorithm>#include<cstdio>#include<string>#include<vector>using namespace std;const int qq = 5e5+10;struct Seg{int l,r;bool operator < (const Seg &a)const{if(r==a.r)return l>a.l;return r<a.r;}};vector<Seg>v;int main(){Seg tmp;int n;scanf("%d",&n);for(int i=0; i<n; ++i){scanf("%d%d",&tmp.l, &tmp.r);v.push_back(tmp);}sort(v.begin(), v.end());//for(int i=0; i<n; ++i)//printf("%d %d\n", v[i].l, v[i].r);int res=1,maxn=v[0].r;for(int i=1; i<n; ++i)if(v[i].l>maxn)res++,maxn=v[i].r;printf("%d\n", res);return 0;}


0 0
原创粉丝点击