杭電 1233 還是暢通工程 (最小生成樹)

2022-08-03 10:06:12 字數 1046 閱讀 5149

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

測試輸入包含若干測試用例。每個測試用例的第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

1 #include2 #include3

using

namespace

std;

4int fa[100000];5

struct

stu6

st[100000

];10

int find(int

a)11

17return

r;18}19

bool

cmp(stu a,stu b)

2023

intmain()

2434

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

3538 sort(st,st+m,cmp);

39int k=0;40

int sum=0;41

for(i = 0 ; i)

4250

}51 printf("

%d\n

",sum);52}

53 }

huge input, scanf is recommended.

杭電 1233 還是暢通工程

基礎的最小生成樹題目 可以拿來練習一下prim演算法和kruskal演算法的運用 prim include include using namespace std int main for int i 1 i n i int t n n 1 2 while t int sum 0 dis 1 0 w...

HDU1233 還是暢通工程 最小生成樹

題意 求出連線各個村莊最小的公路總長度,把最小公路總長度求出來。思路 最小生成樹原理,帶入資料求得。prim include include using namespace std define inf 0x3f3f3f3f intmain visit 1 1 int pos 1 第一次給low賦值...

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

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