首页 > 其他 > 详细

贪心——会场安排

时间:2015-12-12 18:47:17      阅读:132      评论:0      收藏:0      [点我收藏+]

 

 

 

#include<bits/stdc++.h>
using namespace std;
const int maxn = 1e4;
struct Meeting{
    int st,en,idx;
}meets[maxn];
bool cmp(Meeting a,Meeting b){  //对会议结束时间从小到大排序
    return a.en < b.en;
}
int ans[maxn];
int main(){
    int n;
    scanf("%d",&n);
    for(int i = 1; i <= n; i++){
        scanf("%d%d",&meets[i].st,&meets[i].en);
        meets[i].idx = i;
    }
    sort(meets+1,meets+1+n,cmp);
    //一定选择第一个最先结束的会议
    int id = 1;
    int cn = 1;
    ans[cn] = 1;
    for(int i = 2; i <= n; i++){
        if(meets[i].st >= meets[id].en){
            id = i;
            cn++;
            ans[cn] = meets[i].idx;
        }
    }
    printf("最多可以有%d个会议按时举行\n",cn);
    for(int i = 1; i <= cn; i++){
        printf("%d ",ans[i]);
    }
    return 0;
}
/*
11
1 4
3 5
0 6
5 7
3 8
5 9
6 10
8 11
8 12
2 13
12 14
*/

  

贪心——会场安排

原文:http://www.cnblogs.com/chengsheng/p/5041592.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!