坑點比較多
1. 某兩點之間可能有多條通路,在跑dij時需要用距離最小的算。
2. 當起點和重點相等的時候,距離為0
3. 點的編號從0開始。
#include
#define nmax 210
using
namespace
std;
int mp[nmax][nmax];
int dis[nmax];
bool visit[nmax];
int inf = 1e8;
int n,m;
void dij(int s)
int mini = inf;
for(int j = 0; jif(!visit[j] && dis[j] < mini)
}visit[cur] = true;
}}int main()
scanf("%d %d",&sta,&end);
dij(sta);
if(sta == end)else
if(dis[end] == inf)else
}return
0;}
hdu 1874 暢通工程續
題目 就是裸的單源最短路。做的時候還是遇到了一些錯誤。比如題目上說的,每次要從乙個城鎮到另乙個城鎮時,都有許多種道路方案可以選擇,而某些方案要比另一些方案行走的距離要短很多。應該在輸入的時候就要更新a b的最短距離。還有一開始開了個n 0x7fffffff 這種題肯定是不行的。因為這個數和其他數相加...
HDU 1874 暢通工程續
problem description 某省自從實行了很多年的暢通工程計畫後,終於修建了很多路。不過路多了也不好,每次要從乙個城鎮到另乙個城鎮時,都有許多種道路方案可以選擇,而某些方案要比另一些方案行走的距離要短很多。這讓行人很困擾。現在,已知起點和終點,請你計算出要從起點到終點,最短需要行走多少距...
HDU 1874 暢通工程續
problem description 某省自從實行了很多年的暢通工程計畫後,終於修建了很多路。不過路多了也不好,每次要從乙個城鎮到另乙個城鎮時,都有許多種道路方案可以選擇,而某些方案要比另一些方案行走的距離要短很多。這讓行人很困擾。現在,已知起點和終點,請你計算出要從起點到終點,最短需要行走多少距...