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