王道機試練習 暢信道路之最小生成樹

2021-10-08 02:35:22 字數 906 閱讀 3664

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

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

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

#include

#include

#include

using namespace std;

#define n 101

int tree[n]

;int

findroot

(int x)

}struct edge

}edge[

6000];

intmain()

//輸入

sort

(edge +

1, edge +

1+ n *

(n -1)

/2);

for(

int i =

1; i <= n; i++

)int ans =0;

//最小生成樹上邊權值的和,初始值為0

for(

int i =

1; i <= n *

(n -1)

/2; i++)}

printf

("%d\n"

, ans);}

return0;

}

王道機試練習 求素數

題目描述 給定乙個數 n,要求判斷其是否為素數 0,1,負數都是非素數 輸入 測試資料有多組,每組輸入乙個數 n。輸出 對於每組輸入 若是素數則輸出 yes,否則輸入 no。樣例輸入 13樣例輸出 yes怎樣確定乙個數是素數?我們可以用所有大於 1 小於其本身的整數去試著 整除該數,若在該區間內存在...

王道機試練習 分解素因數

求正整數 n n 1 的質因數的個數。相同的質因數需要重複計算。如 120 22235 共有 5 個質因數。輸入 可能有多組測試資料,每組測試資料的輸入是乙個正整數 n,1該 按照如下步驟對輸入的整數分解素因數 1.利用素數篩法篩得 0 到 100000 區間內所有素數。2.輸入 n。3.依次測試步...

王道機試練習 高精度大整數加法

實現乙個加法器,使其能夠輸出 a b 的值。輸入 輸入包括兩個數 a 和 b,其中 a 和 b 的位數不超過 1000 位。輸出 可能有多組測試資料,對於每組資料,輸出 a b 的值。include include struct biginteger void set char str void o...