切換
舊版
前往
大廳
主題

ZeroJudge - e586: 01208 - Oreon 解題心得

Not In My Back Yard | 2020-01-02 22:44:37 | 巴幣 0 | 人氣 165

題目連結:


題目大意:
給定一正整數 T ,代表有 T 筆測試資料。每筆測資第一列給定一正整數 N ,代表有 N 個城市。接著有 N 列,每列有 N 個整數,每個整數一個通道,並代表位於兩城市(如果這整數在第 i 列第 j 行,代表這個整數代表的是第 i 和第 j 的城市)之間的該通道需要多少的安全人員。(如果需要 0 位人員,代表那兩個城市之間沒有通道)

城市的編號為從 A 開始編號。試問,根據給定的圖,最少需要保留哪些通道,使得所有城市互相連通。請輸出那些通道所連貫的兩城市之編號,並依照字典序排序再輸出,接著再輸出該通道所需人數。輸出格式請參見範例輸出。



範例輸入:
1
6
0, 8, 12, 0, 0, 7
8, 0, 0, 3, 0, 0
12, 0, 0, 0, 6, 0
0, 3, 0, 0, 0, 4
0, 0, 6, 0, 0, 5
7, 0, 0, 4, 5, 0


範例輸出:
Case 1:
B-D 3
D-F 4
E-F 5
C-E 6
A-F 7


解題思維:
這個題目的所求即是最小生成樹(Minimum Spanning Tree),作法參見這題

此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

更多創作