程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> HDU - 1233 - 還是暢通工程 (最小生成樹!!)

HDU - 1233 - 還是暢通工程 (最小生成樹!!)

編輯:C++入門知識

HDU - 1233 - 還是暢通工程 (最小生成樹!!)


還是暢通工程

Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 27443 Accepted Submission(s): 12212


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

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

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

Sample Input
3
1 2 1
1 3 2
2 3 4
4
1 2 1
1 3 4
1 4 1
2 3 3
2 4 2
3 4 5
0

Sample Output
3
5

HintHint 
Huge input, scanf is recommended.

Source 浙大計算機研究生復試上機考試-2006年



多做幾個,熟悉熟悉!!


AC代碼:

#include 
#include 
#include 
#define INF 0x7f7f7f7f
using namespace std;

int map[105][105], vis[105], dis[105];
int n;

void prim()
{
	for(int i=1; i<=n; i++)
		dis[i] = map[1][i];
	vis[1] = 1; dis[1] = 0;
	int sum = 0, pos;
	for(int i=1; i



  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved