poj1125最短路模板

2021-06-06 00:37:15 字數 1210 閱讀 9175

簡單的模板應用,就是求圖中各個點中,每個點到其餘各點最大距離的最小值。#include #include #include using namespace std;

#define maxn 110

#define maxint 999999

int ans[maxn];//the longest distance of every point

int dist[maxn];//the distance between the v and the other point

int n;

int dijsktra(int v)

dist[v]=0;

s[v]=true;

for(i=2;i<=n;i++)

return max;

}int main()

}for(i=1;i<=n;i++)

min=maxint;

for(i=1;i<=n;i++)

if(ans[i]#include using namespace std;

const int max_vertex=128;

const int max_edge_weight=100000000;

int nv;//the number of vertex

int gam[max_vertex][max_vertex];//the map of the problem

int spd[max_vertex];//the distance between source point and the destination point

int asd[max_vertex];//whether the point is explored

int ansperson,anstime;

int main()

}ansperson=-1;anstime=max_edge_weight;

for(k=1;k<=nv;k++)

for(i=1;i<=nv-2;i++)

}if(m!=k)

asd[m]=1;

else

break;

for(j=1;j<=nv;j++)

}int time=0;

for(i=1;i<=nv;i++)

if(i!=k&&timetime)

}if(anstime!=max_edge_weight)

cout<

POJ 1125 裸最短路 Floyd

題意 第一行輸入乙個數n,表示有n個節點,之後的n行,第i 1行第乙個數表示i節點的子節點個數,接著i對數,每對數a,b表示i到a有一條長度為b的邊。輸入直到n 0結束。讓你選擇乙個點,目的是讓這個點散播訊息,使得這個點能以最快的速度把訊息散播到其他所有點。輸出格式為這個點以及散播時間。注意 有可能...

poj 1125 求起點的最短路

題意 有n個人每個人可以把謠言傳給一些人,傳給每個人有一定的時間,求出你把謠言傳給誰,讓所有的人都知道的時間最短。思路 列舉每個點為起點,到所有點的距離的最大值就是該點為起點所消耗的時間,求出最小值就可以了,因為給的n較小,直接 floyd就可以了。include includeconst int ...

最短路模板

1.dijkstra演算法 演算法思想 從某乙個點開始,找與它距離最近的乙個點,然後更新所有點到這條路徑的距離,然後再次選取乙個距離上乙個點路徑最短的點,將其加入路徑,以此進行,直到求出起點到所有點的最短距離.注意 權值不能為負,如圖 1到3的距離應該是零,但這裡結果為一 1 鄰接矩陣 複雜度 o ...