POJ3268 最短路徑 反向存邊

2022-05-30 18:15:18 字數 626 閱讀 6049

因為是單向邊,牛兒來回的路徑長度並不相同,所以需要用兩次dijkstra,一次正向從x開始dijkstra,再將邊全部反向存再來一次。

因為是板子題比較良心n比較小,我們就可以用矩陣來儲存啦。如果n比較大的話,我的想法是再造乙個圖,同時反向存邊。記憶體可能占用比較大但是想起來簡單。

**很短。

#include#include

#include

#include

#include

#include

#include

#include

#include

using

namespace

std;

typedef pair

pairr;

const

int maxn=1005

;inline

intread()

intint

n,m,t;

intdis[maxn];

inline

void dijkstra(int

st) }

}}int

way[maxn];

intmain()

來回最短路POJ3268

這個題得主要考點在於給你的圖是去了再回來得有向圖,如何模組化解決呢就是轉變圖的方向,我們根據初始得放心求出每個點到x得最短路,然後轉變所有路得方向再求出所有點到x得最短路,最後一相加就是最後的來回了 實現得時候我用到了陣列指標,感覺非常得方便 include include include defi...

寒假 POJ 3268(最短路)

題目大意 給出n個點和m條邊,接著是m條邊,代表從牛a到牛b需要花費c時間,現在所有牛要到牛x那裡去參加聚會,並且所有牛參加聚會後還要回來,給你牛x,除了牛x之外的牛,他們都有乙個參加聚會並且回來的最短時間,從這些最短時間裡找出乙個最大值輸出 include using namespace std ...

POJ3268最短路水題

題意大概是有n個農場n頭牛,要去x農場的牛。去和返回都要走最短路,問耗費時間最長的那條路是多少。首先想到就的就是floyd演算法果然tle了。先附上tle的 include include include include using namespace std const int maxn 1000...