日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++实现AOE网中的关键路径算法及机动时间计算算法(邻接表存储)

發(fā)布時間:2023/12/4 c/c++ 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++实现AOE网中的关键路径算法及机动时间计算算法(邻接表存储) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

代碼如下:

#include <iostream> #include <stack> using namespace std; const int N = 100;typedef struct Node {int adj;int w;Node *next;}Node;typedef struct VNode {int in;int v;Node *first;VNode(){first = nullptr;} }VNode;class AOE { private:VNode adjList[N];int vn;int en;int tpord[N];int ve[N];int vl[N];bool coll[N];int path[N];bool vis[N]; public:AOE(){memset(ve, 0, sizeof(ve));memset(vl, 0, sizeof(vl));}void buildAOE(){int n, m;cin >> n >> m;vn = n;en = m;for (int i = 0; i < vn; i++){cin>>adjList[i].v;}for (int i = 0; i < en; i++){int x, y, w;cin >> x >> y >> w;Node *s = new Node;s->adj = y;s->w = w;s->next = adjList[x].first;adjList[x].first = s;}}void findIn(){for (int i = 0; i < vn; i++){adjList[i].in = 0;}for (int i = 0; i < vn; i++){for (Node *p = adjList[i].first; p; p = p->next){adjList[p->adj].in++;}}}bool toptpord(){stack<int>s;findIn();for (int i = 0; i < vn; i++){if (adjList[i].in == 0){s.push(i);}}int n = vn;int cnt = 0;while (!s.empty()){int xx = s.top();s.pop();tpord[cnt++] = xx;n--;for (Node *p = adjList[xx].first; p; p = p->next){int yy = p->adj;adjList[yy].in--;if (adjList[yy].in == 0){s.push(yy);}if (ve[xx] + p->w > ve[yy]){ve[yy] = ve[xx] + p->w;}}}if (!n){return true;}else{return false;}}bool criticPath(){if (!toptpord()) return false;for (int i = 0; i < vn; i++){vl[i] = ve[vn - 1];}for (int i = vn - 1; i >= 0; i--){int xx = tpord[i];for (Node *p = adjList[xx].first; p; p = p->next){int yy = p->adj;if (vl[yy] - p->w < vl[xx]){vl[xx] = vl[yy] - p->w;}}int e = 0;int l = 0;for (int i = 0; i < vn; i++) coll[i] = false;for (int i = 0; i < vn; i++){for (Node *p = adjList[i].first; p; p = p->next){int k = p->adj;e = ve[i];l = vl[k] - p->w;if (e == l){coll[i] = coll[k] = true;}}}}return true;}void freeTime()//求機動時間{for (int i = 0; i < vn; i++){int xx = i;for (Node *p = adjList[i].first; p; p = p->next){int yy = p->adj;if (vl[yy] - ve[xx] - p->w > 0){cout << "yy = "<<yy<<" vl[yy] = " << vl[yy] <<" xx = "<<xx<< " ve[xx] = " << ve[xx] << " p->w = " << p->w << endl;cout << xx << " " << yy <<" "<< vl[yy] - ve[xx] - p->w<< endl;}}}cout << endl;}void dfs(int v, int cnt, int ans){path[cnt++] = v;if (v == vn - 1){cout << "value = " << ans << endl;for (int i = 0; i < cnt; i++){cout << path[i] << " ";}cout << endl;return;}for (Node *p = adjList[v].first; p; p = p->next){int k = p->adj;if (!vis[k] && coll[k]){vis[k] = true;dfs(k, cnt, ans + p->w);vis[k] = false;}}}void printPath(){for (int i = 0; i < vn; i++) vis[i] = false;vis[0] = true;dfs(0, 0, 0);}};int main() {AOE g;g.buildAOE();g.criticPath();g.printPath();g.freeTime();return 0; }

測試如下:

總結(jié)

以上是生活随笔為你收集整理的C++实现AOE网中的关键路径算法及机动时间计算算法(邻接表存储)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 中文字幕不卡在线播放 | 免费色av | 国产午夜福利片 | 亚洲精品一区二区三区四区 | a级网站在线观看 | 久久精品无码Av中文字幕 | 国产精品无码粉嫩小泬 | 黄色一区二区三区四区 | 婷婷成人av | 国产成人精品一区二三区四区五区 | 日本黄色免费观看 | 久久精品亚洲精品国产欧美 | 国产精品青青草 | 色哟哟一区二区 | 国产丰满农村老妇女乱 | 国产91网| 成人在线精品 | 九九视频国产 | 三年在线观看视频 | 蜜臀视频在线观看 | 亚洲精选在线 | 国产巨乳在线观看 | 日韩美女做爰高潮免费 | 色图自拍偷拍 | 伦乱天堂 | 爽爽爽av| 欧美,日韩,国产在线 | 女人一区二区 | 国产福利小视频在线观看 | 18禁一区二区 | 一道本av在线 | 波多野结衣一二区 | 成人免费入口 | exo妈妈mv在线播放高清免费 | porn麻豆| 国产精品怡红院 | 日本视频免费在线 | 亚洲在线免费看 | 欧美人伦 | 高清18麻豆 | 亚洲第一成年人网站 | a级黄色一级片 | 天天视频天天爽 | 九九自拍视频 | 91天天操| aaa一级片 | 久热综合| 亚洲成人a∨ | tube国产麻豆| 黄色a一级 | 99久久免费看精品国产一区 | 欧美一级爱爱视频 | 欧美sese | 销魂美女一区二区 | 免费成人在线观看 | 成年网站在线 | 午夜羞羞网站 | 精品成人免费视频 | 好吊操这里只有精品 | sese在线视频| 亚洲午夜视频 | 视频一区日韩 | 大桥未久恸哭の女教师 | 麻豆av免费 | 欧美成年人视频 | 亚洲国产激情 | 少妇网站在线观看 | 九九热精品视频在线观看 | 色综合av综合无码综合网站 | 日本特黄色片 | 久久99精品久久久久久园产越南 | 久久爱资源网 | 丝袜诱惑一区二区 | 99精品一级欧美片免费播放 | 高清成人免费视频 | 一二三四国产精品 | 在哪里可以看毛片 | 在线观看亚洲天堂 | 激情综合网av | 色婷婷av一区二区三区之红樱桃 | 制服丝袜av在线播放 | 国产欧美二区 | 日本黄页网站免费大全 | 成人午夜在线免费观看 | 欧洲影院 | 久久久久亚洲av成人人电影 | www.狠狠爱| www.xxx.日本| 99热在线只有精品 | 成人在线免费看片 | 欧美三日本三级少妇三 | www日韩欧美 | 台湾佬成人中文网222vvv | 淫品色影院 | 亚洲色图另类小说 | 天天看片天天干 | 国产成人精品视频一区二区 | 国产女人和拘做受视频免费 | 欧日韩视频|