題意:
題目要求找到節點1到節點n之間的一條最短路
分析:
dijkstra模板題
單源最短路徑,可以用dijkstra(當然floyd或者其他也可以),首先初始化節點間距離陣列map和訪問記錄陣列vis,然後錄入並儲存當前已知點間距離,再使用dijsktra演算法以起始點為中心向外層層擴充套件(廣度優先搜尋思想),不斷更新最短距離,直到擴充套件到終點為止。最後得到的dis[n]即為起點1至終點n的最短距離。
**如下:
#include #include#include
#include
#include
#define inf 0x3f3f3f3f
using
namespace
std;
typedef
long
long
ll;const
int maxn = 1010
;int
map[maxn][maxn], dis[maxn];
bool
vis[maxn];
intn, m;
void
init()
}memset(vis,
0, sizeof
(vis));
}void
dijkstra()
for(int i = 1; i <= n-1; i++)
}vis[p] = 1; //
標記p已被訪問
for(int j = 1; j <= n; j++) }}
}int main(void
) dijkstra();
printf(
"%d\n
", dis[n]);
}}
HDU 2544 最短路 最短路
最近複習了最短路徑的演算法,就寫了4個版本的測試。正好是模板題,就果斷a之。dijkstar版本 include include include include include include includeusing namespace std define n 110 define max 99...
hdu 2544 最短路(最短路)
time limit1000 ms memory limit32768 kb 在每年的校賽裡,所有進入決賽的同學都會獲得一件很漂亮的t shirt。但是每當我們的工作人員把上百件的衣服從商店運回到賽場的時候,卻是非常累的!所以現在他們想要尋找最短的從商店到賽場的路線,你可以幫助他們嗎?input輸入...
HDU2544最短路(最短路徑)
description 在每年的校賽裡,所有進入決賽的同學都會獲得一件很漂亮的t shirt。但是每當我們的工作人員把上百件的衣服從商店運回到賽場的時候,卻是非常累的!所以現在他們想要尋找最短的從商店到賽場的路線,你可以幫助他們嗎?input 輸入包括多組資料。每組資料第一行是兩個整數n m n 1...