資料結構課設 旅遊規劃(dijkstra擴充套件)

2021-07-10 15:23:43 字數 1259 閱讀 4391

5-19 旅遊規劃   (25分)

有了一張自駕旅遊路線圖,你會知道城市間的高速公路長度、以及該公路要收取的過路費。現在需要你寫乙個程式,幫助前來諮詢的遊客找一條出發地和目的地之間的最短路徑。如果有若干條路徑都是最短的,那麼需要輸出最便宜的一條路徑。

輸入說明:輸入資料的第1行給出4個正整數nn、m

m、ss、d

d,其中n

n(2\le n\le 5002≤

n≤50

0)是城市的個數,順便假設城市的編號為0~(n-1n−

1);m

m是高速公路的條數;s

s是出發地的城市編號;d

d是目的地的城市編號。隨後的m

m行中,每行給出一條高速公路的資訊,分別是:城市1、城市2、高速公路長度、收費額,中間用空格分開,數字均為整數且不超過500。輸入保證解的存在。

在一行裡輸出路徑的長度和收費總額,數字間以空格分隔,輸出結尾不能有多餘空格。

4 5 0 3

0 1 1 20

1 3 2 30

0 3 4 10

0 2 2 20

2 3 1 20

3 40

和51nod 1459很像

把**複製過來改了改

#include #include #include #include #include using namespace std;

const int inf = 0x3f3f3f3f;

int map[550][550];

int vis[550];

int val[550][550];

int dis[550];

int sum[550];

int main()

} int x, y, z, q;

for(i = 0; i < m; i++)

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

dis[s] = 0;

int minn, v;

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

}} vis[v] = 1;

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

else if(dis[j] == dis[v] + map[v][j])

}} }

printf("%d %d\n", dis[e], sum[e]);

return 0;

}

資料結構課設

10 多種基本內排序方法的實現 問題描述 設計乙個合成的排序程式。可供排序的方法是 插入排序 快速排序 歸併排序 堆排序。要求程式具有 1 顯示排序結果.2 提供最好和最壞情況下對比計時的功能。3 提供在不同陣列元素的個數情況 當n分別等於100,1000,5000,20000時 下各種排序演算法的...

資料結構課設框架

標頭檔案上界 include include include include include include using namespace std define true 1 define false 0 標頭檔案下界 結構體上界 食物 typedef struct food food,ptr f...

資料結構 c語言 旅遊規劃

7 3 旅遊規劃 25分 有了一張自駕旅遊路線圖,你會知道城市間的高速公路長度 以及該公路要收取的過路費。現在需要你寫乙個程式,幫助前來諮詢的遊客找一條出發地和目的地之間的最短路徑。如果有若干條路徑都是最短的,那麼需要輸出最便宜的一條路徑。輸入格式 輸入說明 輸入資料的第1行給出4個正整數n m s...