洛谷 P1807最長路

2021-08-20 02:07:28 字數 809 閱讀 3903

設g為有n個頂點的有向無環圖,g中各頂點的編號為1到n,且當為g中的一條邊時有i < j。設w(i,j)為邊的長度,請設計演算法,計算圖g中<1,n>間的最長路徑。

輸入格式:

輸入檔案longest.in的第一行有兩個整數n和m,表示有n個頂點和m條邊,接下來m行中每行輸入3個整數a,b,v(表示從a點到b點有條邊,邊的長度為v)。

輸出格式:

輸出檔案longest.out,乙個整數,即1到n之間的最長路徑.如果1到n之間沒連通,輸出-1。

輸入樣例

2 1

1 2 1

輸出樣例複製

1
#include 

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define inf 1e6

using

namespace

std;

const

int maxn = 1510;

int g[maxn][maxn];

int du[maxn],n,m,l[maxn];

void bfs()

bfs();

cout

<}

洛谷 P1807 最長路(拓撲排序)

題目大意 n個頂點的帶權有向無環圖,邊權可能為負值,求1到n的最長路,無法到達則輸出 1思路 拓撲排序,直接先將入度為0的入隊,定義dis陣列,先全部設定成乙個極小值,dis i 為i號頂點到1的距離,然後拓撲排序過程中更新dis,若最後dis n 仍為極小值輸出 1,否則輸出dis n inclu...

洛谷 P1807 最大路

這是一道拓撲的水題,emmm 求圖中的最長路 原題戳顯然可以用最短路寫,顯然,也可以用拓撲排序寫 top是正宗!這裡只給出拓撲排序的做法 因為是求從1到n的最大路,所以只有1能到的點才能更新,所以需要乙個標記陣列,儲存被誰更新,被1更新過就可以去更新其他點 乙個點的最大路 max 如下 by ace...

P1807 最長路 NOI導刊2010提高(07)

設g為有n個頂點的有向無環圖,g中各頂點的編號為1到n,且當為g中的一條邊時有i j。設w i,j 為邊的長度,請設計演算法,計算圖g中 1,n 間的最長路徑。輸入格式 輸入檔案longest.in的第一行有兩個整數n和m,表示有n個頂點和m條邊,接下來m行中每行輸入3個整數a,b,v 表示從a點到...