DS圖—圖的最短路徑(不含程式碼框架)

夜闌優琿發表於2020-12-10

題解

  1. Dijkstra演算法

題目

問題 A: DS圖—圖的最短路徑(不含程式碼框架)
時間限制: 1 Sec  記憶體限制: 128 MB
提交: 588  解決: 361
[提交][狀態][討論版]
題目描述
給出一個圖的鄰接矩陣,輸入頂點v,用迪傑斯特拉演算法求頂點v到其它頂點的最短路徑。

輸入
 第一行輸入t,表示有t個測試例項

第二行輸入頂點數n和n個頂點資訊

第三行起,每行輸入鄰接矩陣的一行,以此類推輸入n行

第i個結點與其它結點如果相連則為距離,無連線則為0,資料之間用空格

隔開。第四行輸入v0,表示求v0到其他頂點的最短路徑距離

以此類推輸入下一個示例

輸出
對每組測試資料,輸出:

每行輸出v0到某個頂點的最短距離和最短路徑

每行格式:v0編號-其他頂點編號-最短路徑值----[最短路徑]。沒有路徑輸出:v0編號-其他頂點編號--1。具體請參考示範資料

樣例輸入
2
5 0 1 2 3 4
0 5 0 7 15
0 0 5 0 0
0 0 0 0 1
0 0 2 0 0
0 0 0 0 0
0
6 V0 V1 V2 V3 V4 V5
0 0 10 0 30 100
0 0 5 0 0 0
0 0 0 50 0 0
0 0 0 0 0 10
0 0 0 20 0 60
0 0 0 0 0 0
V0
樣例輸出
0-1-5----[0 1 ]
0-2-9----[0 3 2 ]
0-3-7----[0 3 ]
0-4-10----[0 3 2 4 ]
V0-V1--1
V0-V2-10----[V0 V2 ]
V0-V3-50----[V0 V4 V3 ]
V0-V4-30----[V0 V4 ]
V0-V5-60----[V0 V4 V3 V5 ]

程式碼塊


相關文章