題目描述:某省調查鄉村交通狀況,得到的統計表中列出了任意兩村莊間的距離。省**「暢通工程」的目標是使全省任何兩個村莊間都可以實現公路交通(但不一定有直接的公路相連,只要能間接通過公路可達即可),並要求鋪設的公路總長度為最小。請計算最小的公路總長度。
輸入:測試輸入包含若干測試用例。每個測試用例的第1行給出村莊數目n ( < 100 );隨後的n(n-1)/2行對應村莊間的距離,每行給出一對正整數,分別是兩個村莊的編號,以及此兩村莊間的距離。為簡單起見,村莊從1到n編號。
當n為0時,輸入結束,該用例不被處理。
輸出:對每個測試用例,在1行裡輸出最小的公路總長度。
樣例輸入:
31 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
樣例輸出:
35
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...