HDU 1874 暢通工程續

2021-07-24 13:36:58 字數 1011 閱讀 9747

acm模版

最短路搞搞事情啊~

#include 

#include

#include

using

namespace

std;

/* * 單源最短路徑,dijkstra演算法,鄰接矩陣形式,複雜度為o(n^2)

* 求出源beg到所有點的最短路徑,傳入圖的頂點數和鄰接矩陣cost

* 返回各點的最短路徑lowcost,路徑pre,pre[i]記錄beg到i路徑上的父節點,pre[beg] = -1

* 可更改路徑權型別,但是權值必須為非負,下標0~n

*/const

int maxn = 210;

const

int inf = 0x3f3f3f3f; // 表示無窮

bool vis[maxn];

int pre[maxn];

void dijkstra(int cost[maxn], int lowcost, int n, int beg)

lowcost[beg] = 0;

for (int j = 0; j <= n; j++)

}if (k == -1)

vis[k] = true;

for (int i = 0; i <= n; i++)}}

}int lowcost[maxn];

int cost[maxn][maxn];

int want[maxn];

int main()

}scanf("%d%d", &s, &t);

dijkstra(cost, lowcost, n, s);

if (lowcost[t] == inf)

else

}return

0;}

《最短路》

hdu 1874 暢通工程續

題目 就是裸的單源最短路。做的時候還是遇到了一些錯誤。比如題目上說的,每次要從乙個城鎮到另乙個城鎮時,都有許多種道路方案可以選擇,而某些方案要比另一些方案行走的距離要短很多。應該在輸入的時候就要更新a b的最短距離。還有一開始開了個n 0x7fffffff 這種題肯定是不行的。因為這個數和其他數相加...

HDU 1874 暢通工程續

problem description 某省自從實行了很多年的暢通工程計畫後,終於修建了很多路。不過路多了也不好,每次要從乙個城鎮到另乙個城鎮時,都有許多種道路方案可以選擇,而某些方案要比另一些方案行走的距離要短很多。這讓行人很困擾。現在,已知起點和終點,請你計算出要從起點到終點,最短需要行走多少距...

HDU 1874 暢通工程續

problem description 某省自從實行了很多年的暢通工程計畫後,終於修建了很多路。不過路多了也不好,每次要從乙個城鎮到另乙個城鎮時,都有許多種道路方案可以選擇,而某些方案要比另一些方案行走的距離要短很多。這讓行人很困擾。現在,已知起點和終點,請你計算出要從起點到終點,最短需要行走多少距...