很簡單的求最小代價生成樹的問題,利用prim很容易求出
#include #include #include using namespace std;
const int maxn=200; //最大費用是不多於100,所以定義乙個比100 大的數即可
int n,sum,weight[30][30];
int lowcost[30];
bool visit[30];
void prim(int v)
for(i=1;ivisit[k]=true;
sum+=min;
for(j=1;j<=n;j++)
if(weight[k][j]lowcost[j]=weight[k][j];
}}int main()
}memset(visit,0,sizeof(visit));
sum=0;
prim(1);
printf("%d\n",sum);
}return 0;
}
poj 1251 最小生成樹 krusral演算法
剛開始沒有想好怎麼輸入,才想起scanf可以格式化輸入的下面是 jungle roads poj 1251 最小生成樹 有乙個路網,要求選取出一些路使得所有的權值最小 可以用krusral演算法 輸入比較複雜啊 用乙個大寫字母來表示每個節點 每條邊只寫一次 include include inclu...
最小生成樹 算法案列(poj1251)
的乙個熱帶島嶼上的行政長官有乙個問題要解決。他決定把幾年前得到的外國援助資金用於修建村莊之間的道路。但是叢林比道路多太多了,使道路網路的維護太過於昂貴了。理事會必須選擇停止維修一些道路。上述左側圖顯示當前所有使用中的道路,以及現在每月的維護費用。當然,村莊之間必需有一些公路能夠相通,即使路線並不像以...
最小生成樹問題
1.構造可以使n個城市連線的最小生成樹。問題描述 給定乙個地區的n個城市間的距離網,用prim演算法或kruskal演算法建立最小生成樹,並計算得到的最小生成樹的代價。4 要求 1 城市間的距離網採用鄰接矩陣表示,鄰接矩陣的儲存結構定義採用課本中給出的定義,若兩個城市之間不存在道路,則將相應邊的權值...