编程之美1.9——高效率地安排见面会
2015-04-23 11:14
204 查看
#include<iostream> #include<cstdlib> using namespace std; const int N = 6; struct Time { int begin; int end; }; bool forbit ;//禁止数组,为false的时候,表示当前该颜色可以使用 int maxcolors; Time times ; int color ={0}; int cmp(const void* a,const void* b) { return ((Time*)a)->begin-((Time*)b)->begin; } void init() { for(int i=0;i<N;i++) cin>>times[i].begin>>times[i].end; qsort(times,N,sizeof(Time),cmp); } bool overlap(const Time &a,const Time &b) { if(b.begin>=a.begin&&b.begin<=a.end) return true; return false; } int arrange() { maxcolors = 0; int i,j,k; for(int i=0;i<N;i++) { for(k = 0;k < maxcolors;k++) forbit[k]=false; for(j=0;j<i;j++) { if(overlap(times[j],times[i])) forbit[color[j]] = true; } for(k=0;k<maxcolors;k++) if(!forbit[k]) break; if(k<maxcolors) color[i] = k; else color[i] = maxcolors++; } return maxcolors; } int main() { init(); int max = arrange(); cout<<max<<endl; return 0; }
相关文章推荐
- 《编程之美》读书笔记05: 1.9 高效率的安排见面会
- 编程之美:1.9高效率安排见面会 图的m着色问题 回溯法
- 《编程之美》1.9:高效率的安排见面会的一个解法
- 《编程之美》1.9:高效率的安排见面会的一个解法
- 编程之美:第一章 1.9高效率地安排见面会
- 读书笔记之编程之美 - 1.9 高效率地安排见面会
- 编程之美-高效率安排见面会的方法整理
- 1.9 高效率的安排见面会
- 编程之美--1.9高效率的安排见面会(解法二python)
- 编程之美:高效率地安排见面会
- 编程之美-高效率的安排见面会
- 编程之美读书笔记_1.9 高效率的安排见面会
- flyinghearts《编程之美》读书笔记连载(6)-高效率安排见面会
- 编程之美----高效率地安排见面会----贪心策略
- 高效率的安排见面会问题
- 高效率地安排见面会
- 高效率安排见面会问题(比编程之美的解法复杂度低n-1个数量级)
- 第1章 游戏之乐——高效率地安排见面会
- 编程之美读书笔记之-高效率的安排见面会
- 编程之美 set 15 高效率地安排见面会