還是暢通工程MST hdu 1233

2022-08-11 12:30:23 字數 1475 閱讀 3171

題目連線:

d

escription:

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

思路分析:

這個就是乙個典型的考查最小生成樹的演算法的題目,我使用prim演算法寫的 。核心思想為:以某一頂點出發,找權值最小的、相鄰的邊,找到後,併入該頂點 ,直到頂點的數為n 為止!

**如下:

view code

1

/***************************************

2date : 2012.7.4

3author : cql_liliang

4descriptin: 最小生成樹(mst)

5**************************************

*/6 #include7 #include8 #include9

using

namespace

std ;

10#define n 100

11int dist[n][n] ; //

存放權值

12int visit[n] ; //

設定頂點訪問標誌

13int lowcost[n] ; //

某乙個頂點所連線的點的權值

1415

int main(void)16

29for(i = 1 ; i <= n ; ++i)

3034 visit[1] = 1 ; //

頂點1被訪問

35for(i = 1 ; i <= n ; ++i)

3646

} 47

if(ipos == 1) //

沒有找到比int_max小的邊,則退出迴圈

48break

;49 visit[ipos] = 1

;50 result += min ; //

對生成樹的邊的權值求和

51for(j = 2 ; j <= n ; ++j)

5256

}57 printf("

%d\n

", result) ;58}

59//

system("pause") ;

60return0;

61 }

還是暢通工程

submit status description input output sample input sample output hint description 某省調查鄉村交通狀況,得到的統計表中列出了任意兩村莊間的距離。省 暢通工程 的目標是使全省任何兩個村莊間都可以實現公路交通 但不一定有...

還是暢通工程

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

還是暢通工程

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