time limit: 1000ms memory limit: 65536k 有疑問?點這裡^_^
有n個城市,其中有些城市之間可以修建公路,修建不同的公路費用是不同的。現在我們想知道,最少花多少錢修公路可以將所有的城市連在一起,使在任意一城市出發,可以到達其他任意的城市。
輸入包含多組資料,格式如下。
第一行包括兩個整數n m,代表城市個數和可以修建的公路個數。(n<=100)
剩下m行每行3個正整數a b c,代表城市a 和城市b之間可以修建一條公路,代價為c。
每組輸出佔一行,僅輸出最小花費。
3 21 2 1
1 3 1
1 0
20#include #include #define inf 999999
int map[101][101],v[101],d[101];
int s;
void prim(int n)
}v[f]=1;
s+=d[f];
for(j=1;j<=n;j++)
{if(!v[j]&&map[f][j]
最小生成樹入門(01 31)
最小生成樹是一棵沒有迴路的樹,n個頂點一定有n 1條邊,同時也是乙個包含全部頂點的生成樹。最小生成樹就是給定一張邊帶權的無向聯通圖g v,e n v m e 由v中全部頂點和e中n 1條邊構成的無向聯通子圖被稱為g的一棵生成樹。邊的權值之和最小的生成樹被稱為無向圖g的最小生成樹 mst 最小生成樹中...
最小生成樹 次小生成樹
一 最小生成樹 說到生成樹首先要解釋一下樹,樹是乙個聯通的無向無環圖,多棵樹的集合則被稱為森林。因此,樹具有許多性質 1.兩點之間的路徑是唯一的。2.邊數等於點數減一。3.連線任意兩點都會生成乙個環。對於乙個無向聯通圖g的子圖,如果它包含g的所有點,則它被稱為g的生成樹,而各邊權和最小的生成樹則被稱...
最小生成樹 水題集
先說求無向圖最小生成樹的兩種演算法 prim演算法 1.初始時兩個集合v,e,初始時v為空,e是所有點的集合。2.以圖中任意乙個點為起始點,把這點加入集合v,然後從集合e中刪除,然後更新這個點到其它點的距離,如果更新不到的點,那麼之間的距離為無窮大。3.然後挑選離起始點最近的點,把這點加入集合v,然...