因為是單向邊,牛兒來回的路徑長度並不相同,所以需要用兩次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...