题目描述
Description
在一个工程项目里,多项工作可以同时进行。
我们可以用有向无环图表述项目流程,把项目中的事件表述为结点,把活动表述成有权值的边。
现在我们已知项目共有n个事件,起点为1,终点为n,m个活动。
请你计算出这个项目的最早完成事件,也就是起点到收点的最长路径。
输入格式
第一行两个整数n和m,代表结点数量和边数量。(1<=n,m<=100)
下面m行,每行3个整数a,b,x,表示点a到点b之间有一条长度为x的有向边。
输出格式
一个整数,起点到终点的最长路径.
输入样例
4 6
1 2 3
1 3 2
1 4 3
2 3 3
2 4 5
3 4 3
输出样例
9
作者 30002692
Version: 7
解法
最长路径==关键路径。
这道题目我们可以用最短路径的求法来求,我们只需要将边权变为负数即可。输出时再变回正数。
这里注意一下:Dijkstra算法不适用于负权的图。
所以这一题,我们用floyd算法求最长路径。
代码如下: