活动安排
2016-03-15 14:34
369 查看
#include<iostream> #include<string.h> #include<algorithm> using namespace std; struct act { int num;//活动的编号 int start;//活动开始时间 int finish;//活动结束时间 }; struct act map[100]; bool b[100];//记录活动是否被选中 int i,pre,n;//pre记录的是最后一次加入的活动的编号。 bool cmp(const act &a,const act &b) { if(a.finish<=b.finish) return true; return false; } void greed() { b[1]=true;//第一个活动我们一定是选的,故为true pre=1;// for(i=2;i<=n;i++) { if(map[i].start>=map[pre].finish) { pre=i; b[i]=true; } } } void print() { for(i=1;i<=n;i++) { if(b[i]==true)//如果这个活动被选入就输出编号 cout<<map[i].num<<" "; } cout<<endl; } int main() { while(cin>>n&&n) { memset(b,false,sizeof(b)); for(int i=1; i<=n; i++) { cin>>map[i].start>>map[i].finish; map[i].num = i; } sort(map, map+n,cmp);//stl模板库函数 ,按照活动的结束时间排序,然后判断最后一个加入的结束时间和下一个的开始时间是否冲突 greed(); print(); return 0; } }
相关文章推荐
- 最优装载方案
- 计算机类资料查找
- 001_JavaScript 错误 - Throw、Try 和 Catch
- android Notification
- 协同过滤中相似度的计算方式
- git 命令熟悉
- 日了Dog的swap
- Android5.0新特性2
- PHP sesion_start()或者session_regenerate_id()提示Cannot regenerate session id - headers already sent in
- (二)boost库之字符串格式化
- 四大组件之BroadcastReceiver详解
- 软件体系结构第三章-解释器风格
- GCD由浅入深学习
- spring事务管理
- JS 获取日期相差天数
- Mac下android_sdk配置环境变量
- freeswitch呼叫异常问题解决
- PHP常用函数(收集)
- RESTful API 设计最佳实践
- 使用Gson解析复杂的json数据