多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > 活動安排問題(貪心算法)

活動安排問題(貪心算法)

來源:程序員人生   發布時間:2014-12-13 08:31:16 閱讀次數:5594次

問題描寫:

          有n個活動的活動集合E ,其中每個活動都要求使用同1個資源,而在同1個時刻內資源只能被1個活動使用,每個活動都有開始是時間和結束時間,要求從活動集合E當選出m個活動,使著m個活動都能順利進行,即也就是每一個活動的活動時間都相互不交叉,求m的最大值和 被選中的活動序號。

例如輸入:

活動編號   活動開始時間    活動結束時間

1                1                       4

2                3                       5

3                0                       6

4                5                       7

5                3                       8

6                5                       9

7                6                       10

8                8                       11

9                8                       12

10              2                       13

11              12                     14

   本程序利用貪心算法解決,輸出的答案是:

應當選擇的活動編號為:

1      4        8        11(即最大可以安排這4個活動)

#include<iostream> #include<iterator> #include<vector> #include<algorithm> using namespace std; /* *活動安排問題(貪心算法) */ struct Act { int beg;//活動的開始時間 int end;//活動的結束時間 int index;//活動的編號 friend ostream & operator<<(ostream &o,const Act &A); friend istream & operator>>(istream &o, Act &A); }; ostream & operator<<(ostream &o,const Act &A) { o<<A.beg<<"---"<<A.end<<" "; return o; } istream & operator>>(istream &o, Act &A) { o>>A.index>>A.beg>>A.end; return o; } bool cmp(Act & act1,Act & act2) { if(act1.end<act2.end) { return true; }else { return false; } } vector<int> GreedySelector(vector<Act> & acts) { //首先把活動依照活動的結束時間進行排序 sort(acts.begin(),acts.end(),cmp); //在排序后的活動集合當選擇可行的活動 vector<int> res; res.push_back(acts[0].index);//首先選中第1個活動 int now = 0;//當前選中的活動下標 for (int i = 1; i < acts.size(); i++) { if(acts[i].beg>=acts[now].end) { now = i; res.push_back(acts[i].index); } } return res; } int main() { vector<Act> acts;//可選活動集 copy(istream_iterator<Act>(cin),istream_iterator<Act>(),back_inserter(acts)); cout<<endl; vector<int> res_act;//得出的方案中的活動編號集 res_act = GreedySelector(acts); //輸出結果 copy(res_act.begin(),res_act.end(),ostream_iterator<int>(cout," ")); cout<<endl; }

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 91精品久久久久久久久网影视 | 99久久精品国产国产毛片 | 免费中文字幕 | 欧美久久超级碰碰碰二区三区 | 日本欧美一级二级三级不卡 | 欧美久久久久久久一区二区三区 | 2020国产成人精品视频人 | 久草在线资源福利站 | 九一精品国产 | 国产福利一区二区精品免费 | 亚洲欧洲日产国码在线观看 | 日韩精品一区二区三区四区 | 日本香蕉视频 | 国产精品一区二区三区四区五区 | 可以免费观看欧美一级毛片 | 99re66热这里只有精品17 | 欧美成人一区二区三区在线视频 | 秋霞理论最新三级理论最 | 欧美a级黄色片 | 国产日产欧美精品一区二区三区 | 欧美精品v欧洲精品 | 欧美黑人粗大 | 337p日本欧洲亚洲大胆艺术图666 | 欧美一欧美一区二三区性 | 伊人网在线播放 | 一级成人a做片免费 | 中文字幕第十页 | 午夜视频播放 | 多人做人爱视频大全在线观看 | 欧美高清成人videosex | 色欧美在线视频 | 自拍偷拍小说 | 国产精品一级视频 | 中文字幕亚洲专区 | 国产另类图片 | 最近高清中文字幕大全免费1 | 第一福利在线观看 | 国产精品久久久久久久久久久久 | 亚洲性生活视频 | 伊人资源 | 亚州精品视频 |