活动选择act0

#include<iostream>
#include<algorithm>
using namespace std;
int b[1010],e[1010];
int t,temp;
int main()
{
    int n;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>b[i]>>e[i];
    }
    for(int i=1;i<=n-1;i++)
        {
            for(int j=i+1;j<=n;j++)
            {
                if(e[i]>e[j])
                {
                    t=b[i];
                b[i]=b[j];
                b[j]=t;
                temp=e[i];
                e[i]=e[j];
                e[j]=temp;
            }
        }
    }
    int ans=1;
    int minn=e[1];
    for(int i=2;i<=n;i++)
    {
        if(b[i]>minn)
        {
            ans++;
            minn=e[i];
        }
    }
    cout<<ans;
    return 0;
}

给结束时间排序,若下一个活动开始时间大于前一个的结束时间,ans++

原文地址:https://www.cnblogs.com/Chri-K/p/13809292.html