最短路徑模板 後期還會補充

2021-09-12 09:11:32 字數 493 閱讀 4697

#include using namespace std;

const int maxn=100;

const int inf=1000000000//很大的數

int graph[maxn][maxn];//鄰接矩陣儲存乙個有向圖 存放權值

bool visit[maxn]=;//已經做過源點的點就不要再重新選擇了 意思就是這個點已經選擇擴張過了

int dis[maxn];//記錄源點到某一點的最短距離

void dijistra(int s)//s為起點

}//找到擴散點之後開始擴散

if(u==-1)

return ;//這個時候找不到距離最短的點了 即使有距離最短 但是這個點已經被做過擴散點了 所以程式結束

visit[u]=true;//u作為擴散點 表示訪問過

for(int j=0;j}

}}int main()

最短路徑dijkstra模板

第一行兩個整數n m。n表示頂點個數 頂點編號為1 n m表示邊的條數。接下來m行表示,每行有3個數x y z。表示頂點x到頂點y邊的權值為z。求源點為1的最短路徑。題目 坐在馬桶上看演算法 演算法7 dijkstra最短路演算法 這道題我只是想練練dijkstra模板,dijkstra主要由兩個步...

模板 最短路徑 SPFA

題目描述 每組資料第一行包含兩個正整數n和m 0const int maxn 205 n的上限 const int inf 1e9 資料的上限 int dp maxn maxn dp i j 第i個城市到第j個城市的距離 int vis maxn vis i 標記第i個城市是否遍歷過 int len...

spfa floyd 最短路徑模板

include include include using namespace std define inf 0xfffff 因為為了辨別是否有負權,所以inf不能開太大 define max 1100 int dist max pre max path max max bool sign max ...