還是暢通工程 最小生成樹

2022-01-24 23:44:38 字數 842 閱讀 7919

題目描述:某省調查鄉村交通狀況,得到的統計表中列出了任意兩村莊間的距離。省**「暢通工程」的目標是使全省任何兩個村莊間都可以實現公路交通(但不一定有直接的公路相連,只要能間接通過公路可達即可),並要求鋪設的公路總長度為最小。請計算最小的公路總長度。

輸入:測試輸入包含若干測試用例。每個測試用例的第1行給出村莊數目n ( < 100 );隨後的n(n-1)/2行對應村莊間的距離,每行給出一對正整數,分別是兩個村莊的編號,以及此兩村莊間的距離。為簡單起見,村莊從1到n編號。

當n為0時,輸入結束,該用例不被處理。

輸出:對每個測試用例,在1行裡輸出最小的公路總長度。

樣例輸入:

3

1 2 1

1 3 2

2 3 4

41 2 1

1 3 4

1 4 1

2 3 3

2 4 2

3 4 5

0

樣例輸出:

3

5

2023年浙江大學計算機及軟體工程研究生機試真題

#include

#include

using namespace std;

const int n = 101;

int tree[n];

int findroot(int x)

}struct edge

sort(edge + 1, edge + 1 + n*(n - 1) / 2);

for (int i = 1; i

A 還是暢通工程(最小生成樹)

點選開啟鏈結 某省調查鄉村交通狀況,得到的統計表中列出了任意兩村莊間的距離。省 暢通工程 的目標是使全省任何兩個村莊間都可以實現公路交通 但不一定有直接的公路相連,只要能間接通過公路可達即可 並要求鋪設的公路總長度為最小。請計算最小的公路總長度。input測試輸入包含若干測試用例。每個測試用例的第1...

還是暢通工程(最小生成樹模板題)

思路 按村莊間的距離從小到大排序,選擇構成最小生成樹 1.prim演算法 本題的資料村莊 即頂點的個數 不是很大,故可直接遍歷,若資料很大時,就需要用堆來維護每個頂點的當前最短距離 265 ms 1608 kb include includeusing namespace std define in...

還是暢通工程 最小生成樹 Prim演算法

includeusing namespace std 測試輸入包含若干測試用例。每個測試用例的第1行給出村莊數目n 100 隨後的n n 1 2行對應村莊間的距離,每行給出一對正整數,分別是兩個村莊的編號,以及此兩村莊間的距離。為簡單起見,村莊從1到n編號。當n為0時,輸入結束,該用例不被處理。in...