Top_Sort+Floyd實現關鍵路徑
阿新 • • 發佈:2018-08-30
fff i++ cout 關鍵路徑 tle bsp card mes top
Top_Sort+Floyd實現關鍵路徑
#include<iostream> using namespace std; int n,m; int g[5000][5000]; int in[5000]; int top[5000]; int d[5000]; void top_sort() { for(int i=1;i<=n;i++) { int k=1; while(k<=n&&in[k]!=0)k++; in[k]=0x7fffffff; top[i]=k;for(int o=1;o<=n;o++)if(g[k][o]!=0)in[o]--; } } int main() { cin>>n>>m; for(int i=1;i<=m;i++) { int a,b,c; cin>>a>>b>>c; g[a][b]=c; in[b]++;//b的入度++ } top_sort();//拓撲排序 for(int i=2;i<=n;i++)for(int o=1;o<=i-1;o++) if(g[top[o]][top[i]]+d[top[o]]>d[top[i]]) d[top[i]]=g[top[o]][top[i]]+d[top[o]]; cout<<d[top[n]]; }
Top_Sort+Floyd實現關鍵路徑