我校校園地圖(已經(jīng)矢量化)如下頁(yè)所示,圖中頂點(diǎn)表示一個(gè)建筑物,邊表示兩個(gè)建筑物之間有條路(都是雙向道路), 權(quán)值表示路的長(zhǎng)度。編寫(xiě)程序,完成以下要求:
(1)找出綜合樓到其余各場(chǎng)所的最短路徑(要求使用Dijkstra算法,分別在鄰接矩陣和鄰接表兩種存儲(chǔ)結(jié)構(gòu).上進(jìn)行實(shí)現(xiàn))。
(2)找出任意兩個(gè)場(chǎng)所間的最短路徑(分別在鄰接矩陣和鄰接表兩種存儲(chǔ)結(jié)構(gòu)上進(jìn)行實(shí)現(xiàn))。
(3) 用戶輸入起點(diǎn)、終點(diǎn)、必經(jīng)點(diǎn)和必避點(diǎn)(必經(jīng)點(diǎn)和必避點(diǎn)可為多個(gè)),輸出滿足條件的所有路徑及-條最短路徑。
2.課題分析本次課程考察dijkstra算法和最短路徑的知識(shí),并且在最短路徑的基礎(chǔ)上增加了一些要求,要求我們運(yùn)用迪杰斯特拉算法。
3.源代碼#include#include
#include#includeusing namespace std;
const int N=1100,M=N*2,INF=0x3f;
int n,m;
int h[N],e[M],w[M],ne[M],idx;
int dist[N];
bool st[N];
int g[N][N];
int d[N][N];
void add(int a,int b,int c)
{
e[idx]=b,w[idx]=c,ne[idx]=h[a],h[
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧