乙個專案由若干個任務組成,任務之間有先後依賴順序。專案經理需要設定一系列里程碑,在每個里程碑節點處檢查任務的完成情況,並啟動後續的任務。現給定乙個專案中各個任務之間的關係,請你計算出這個專案的最早完工時間。
輸入格式:
首先第一行給出兩個正整數:專案里程碑的數量 n(≤100)和任務總數 m。這裡的里程碑從 0 到 n−1 編號。隨後 m 行,每行給出一項任務的描述,格式為「任務起始里程碑 任務結束里程碑 工作時長」,三個數字均為非負整數,以空格分隔。
輸出格式:
如果整個專案的安排是合理可行的,在一行中輸出最早完工時間;否則輸出"impossible"。
輸入樣例 1:
9 12
0 1 6
0 2 4
0 3 5
1 4 1
2 4 1
3 5 2
5 4 0
4 6 9
4 7 7
5 7 4
6 8 2
7 8 4
輸出樣例 1:
18輸入樣例 2:
4 50 1 1
0 2 2
2 1 3
1 3 4
3 2 5
輸出樣例 2:
impossible
在括撲排序裡進行求各個任務完成所需的最短時間,**如下:
#includeint g[100][100],time[100],indegree[100]=,n,m;
int topsort();
int main(void)
} printf ("%d",zuida);
} return 0;
}int topsort() }}
time[i]=max+g[p][i];}}
} }if (telse return 1;
}
最短工期 25分
乙個專案由若干個任務組成,任務之間有先後依賴順序。專案經理需要設定一系列里程碑,在每個里程碑節點處檢查任務的完成情況,並啟動後續的任務。現給定乙個專案中各個任務之間的關係,請你計算出這個專案的最早完工時間。輸入格式 首先第一行給出兩個正整數 專案里程碑的數量 n 100 和任務總數 m。這裡的里程碑...
(拓撲排序)最短工期 25分
只適用於有向無環圖 有向無環圖一定有拓撲排序 把入度為0的點存放在佇列裡面 刪除該頂點連線的所有邊 解題步驟 記錄每個點的入度大小 把入度為0的點放入佇列中去 用乙個dist陣列存放路徑的大小,用cnt記錄頂點個數 刪除該頂點連線的所有邊,即每條邊對應的點的入度 1 再次把入度為0的點存放在佇列裡面...
未完成 7 13 最短工期 25 分
乙個專案由若干個任務組成,任務之間有先後依賴順序。專案經理需要設定一系列里程碑,在每個里程碑節點處檢查任務的完成情況,並啟動後續的任務。現給定乙個專案中各個任務之間的關係,請你計算出這個專案的最早完工時間。首先第一行給出兩個正整數 專案里程碑的數量 n 100 和任務總數 m。這裡的里程碑從 0 到...