#include #include #include #include #include #include #include #include using namespace std;
const int maxn=1000;
const int maxm=maxn*maxn;
const int inf=0x3f3f3f3f;
struct edge ;
int n,m;
int pre[maxn]; //前向星
edge e[maxm];//邊集
int vis[maxn];//是否已加入確定點集
int dis[maxn];//到始點的距離
int main()
memset(vis,0,sizeof(vis));
memset(dis,inf,sizeof(dis));
dis[1]=0; //從定點1出發
for(int i=0;i}
vis[v]=1;
for(int k=pre[v];k!=-1;k=e[k].next) //鬆弛操作
}for(int i=1;i<=n;i++) //輸出到每個節點的最短距離
printf("%d\n",dis[i]);
}return 0;
}
最短路(SPFA 前向星
problem description 輸入t,n分別代表有t條通道,和n個地點。接下來t行u,v,w分別表示u地點於v地點之間通道消費,有重複邊 sample input 5 51 2 20 2 3 30 3 4 20 4 5 20 1 5 100 sample output 運用spfa的幾個要...
C 最短路 spfa 前向星
time limit 7000ms memory limit 65536k 有疑問?點這裡 給出乙個帶權無向圖,包含n個點,m條邊。求出s,e的最短路。保證最短路存在。多組輸入。對於每組資料。第一行輸入n,m 1 n n 5 10 5,1 m m 2 10 6 接下來m行,每行三個整數,u,v,w,...
鏈式前向星教學詳解最短路
鏈式前向星 圖的儲存一般有兩種 鄰接矩陣 鄰接表 鄰接表包括一種東西叫前向星 若圖是稀疏圖,邊很少,開二維陣列a很浪費 若點很多 如10000個點 a 10000 10000 又會爆.只能用前向星做.前向星的效率不是很高,優化後為鏈式前向星,直接介紹鏈式前向星。資料結構 struct edg 鏈式前...