区间问题

来源:互联网 发布:全国软件人才证书 编辑:程序博客网 时间:2024/06/05 20:19
贪心算法即可
#include<iostream>#include<stdio.h>#include<algorithm>using namespace std;const int Maxn=100000;typedef pair<int ,int > p;p c[Maxn];int cmp(const p &a,const p &b){    if(a.second<b.second)    return 1;    else    return 0;}int main(){    int n;    scanf("%d",&n);    for(int i=0;i<n;i++)    {        cin>>c[i].first;        cin>>c[i].second;    }    sort(c,c+n,cmp);     for(int i=0;i<n;i++)    {        cout<<c[i].first<<"\t";        cout<<c[i].second<<endl;    }   int ans=0,flag=0;   ans++;   for(int i=1;i<n;i++)   {        if(c[i].first>c[flag].second)        {            ans++;            flag=i;            cout<<flag<<endl;        }   }   cout<<"ans is"<<ans<<endl;   return 0;}