ACM贪心算法

会场安排问题

#include<iostream>
#include<algorithm>
using namespace std;
struct Time{
    int start_time;
    int end_time;
}Item[10001];
bool cmp(Time x,Time y)
{
    return x.start_time<y.start_time;
}
int main()
{
    int place[10001]={0};
    int n;
    int res = 0;
    cin>>n;
    for(int i=0; i<n; i++)
        cin >> Item[i].start_time>> Item[i].end_time;
    sort(Item,Item+n,cmp);
    //for(int i=0;i<n;i++)
    //    cout<<Item[i].start_time<<' '<<Item[i].end_time<<endl;
    for(int i=0; i<n; i++){
        int temp = res;
            for(int j=0;j<=temp;j++){
                if(Item[i].start_time >= place[j])
                {
                   if(place[j] == 0)
                        res++;
                   place[j] = Item[i].end_time;
                   break;
                }
            }
    }
    cout<<res<<endl;
    return 0;
}

 

posted @ 2022-04-29 16:48  Mostache  阅读(35)  评论(0)    收藏  举报