Codeup關鍵路徑 關鍵路徑

2021-09-26 11:51:20 字數 1757 閱讀 3756

時間限制: 1 sec  記憶體限制: 128 mb

提交: 261  解決: 90

[提交][狀態][討論版][命題人:外部匯入]

描述:圖的連線邊上的資料表示其權值,帶權值的圖稱作網。

上圖可描述為頂點集為(a,b,c,d,e)

邊集及其權值為(始點,終點 權值):a b 3

a c 2 

b d 5

c d 7

c e 4

d e 6            

網的源點是入度為0的頂點,匯點是出度為0的頂點。網的關鍵路徑是指從源點到匯點的所有路徑中,具有最大路徑長度的路徑。上圖中的關鍵路徑為a->c->d->e,其權值之和為關鍵路徑的長度為15。

本題的要求是根據給出的網的鄰接矩陣求該網的關鍵路徑及其長度。

第一行輸入乙個正整數n(1<=n<=5),其代表測試資料數目,即圖的數目

第二行輸入x(1<=x<=15)代表頂點個數,y(1<=y<=19)代表邊的條數

第三行給出圖中的頂點集,共x個小寫字母表示頂點

接下來每行給出一條邊的始點和終點及其權值,用空格相隔,每行代表一條邊。

第乙個輸出是圖的關鍵路徑(用給出的字母表示頂點, 用括號將邊括起來,頂點逗號相隔)

第二個輸出是關鍵路徑的長度

每個矩陣對應上面兩個輸出,兩個輸出在同一行用空格間隔,每個矩陣的輸出佔一行。

2

5 6abcde

a b 3

a c 2

b d 5

c d 7

c e 4

d e 6

4 5abcd

a b 2

a c 3

a d 4

b d 1

c d 3

(a,c) (c,d) (d,e) 15

(a,c) (c,d) 6

#includeusing namespace std;

const int maxn=20;

const int inf=0x3fffffff;

struct node;

};vectoradj[maxn];

vectorans[maxn];

stacktoposeq;

int n,m,ve[maxn],vl[maxn];

int indegree[maxn];

char str[maxn];

mapmp;

bool topologicalsort()

} if(toposeq.size()==n) return true;

else return false;

}int criticalpath()

fill(vl,vl+maxn,maxlength);

while(toposeq.size())

} for(int i=0;i

for(int u=0;u

} int s;

for(int i=0;i

} while(ans[s].size())

return maxlength;

} int main()

int length=criticalpath();

printf("%d\n",length);

} }return 0;

}

codeup 關鍵路徑 模板

include include include include include using namespace std const int size 100 第一行輸入乙個正整數n 1 n 5 其代表測試資料數目,即圖的數目 第二行輸入x 1 x 15 代表頂點個數,y 1 y 19 代表邊的條數 ...

codeup問題 A 關鍵路徑 提供測試樣例

時間限制 1.000 sec 記憶體限制 128 mb 題目描述 描述 圖的連線邊上的資料表示其權值,帶權值的圖稱作網。上圖可描述為頂點集為 a,b,c,d,e 邊集及其權值為 始點,終點 權值 a b 3 a c 2 b d 5 c d 7 c e 4 d e 6 網的源點是入度為0的頂點,匯點是...

關鍵路徑法

關鍵路徑法 critical path method,cpm 又稱為要徑法,是計畫專案活動中用到的一種算術方法。1 對於有效的計畫管理而言,關鍵路徑是乙個十分重要的工具。與計畫評核術 project evaluation and reviewtechniqu,pert 非常類似。要徑法所使用的估計作...