龍門鏢局專門負責為客人運送貨物,從恰克圖到武夷山,從張家口到老河口,從迪化到佛山,從蒙自到奉天,迤邐數千里的商道上,或車馬,或舟楫,或駝馱,或肩挑,貨物往來,錢財遞送。商號開在**,鏢局便設在**。鏢局每到乙個新地方開展業務,都需要對運鏢途中的綠林好漢進行打點。好說話的打點費就比較低,不好說話的打點費就比較高。鏢局現在需要選擇一些道路進行疏通,以便鏢局可以到達任意乙個城鎮,要求是花費的銀子越少越好。
輸入格式:
第一行有兩個數n和m,n表示有n個城市,m表示有m條道路。接下來的m行,每行形如「a b c」用來表示一條道路,意思是城市a到城市b需要花費的銀子數是c。
輸出格式:
乙個整數(花費的最小銀子數)
輸入樣例:
在這裡給出一組輸入。例如:
692
41135
13463
5642
3645
7121
3491
32
輸出樣例:
在這裡給出相應的輸出。例如:
19
#include
#include
#include
using
namespace std;
const
int n =
100010
, m =
200010
, inf =
0x3f3f3f3f
;int n, m;
int p[n]
;struct edge
}edges[m]
;int
find
(int x)
intkruskal()
}if(cnt < n -1)
return inf;
return res;
}int
main()
;}int t =
kruskal()
;if(t == inf)
puts
("impossible");
else
printf
("%d\n"
, t)
;return0;
}
鏢局運鏢(最小生成樹 Kruskal)
7 11 鏢局運鏢 30 分 鏢局的運鏢,就是運貨 類似現在的物流 鏢局每到乙個新地方開展業務,都需要對運鏢途中的綠林好漢進行打點。好說話的打點費就比較低,不好說話的打點費就比較高。龍門鏢局現在有一趟鏢請你來規劃路線,已知城市的地圖,你需要選擇一些道路進行疏通,以便鏢局可以到達任意乙個城市,要求花費...
啊哈演算法 鏢局運鏢(最小生成樹)
最近小哼迷上了 龍門鏢局 從恰克圖道武夷山,從張家口道老河口,從迪化道佛山,從蒙自道奉天.古代鏢局的運鏢,也就是現在的物流。鏢局每到乙個地方開展業務,都需要堆運鏢途中的綠林好漢進行打點 不給錢就不讓過路 好說話的打點費就比較低,不好說話的打點費就比較高。城鎮類似如下,頂點是城鎮編號,邊上的值表示這條...
最小生成樹 次小生成樹
一 最小生成樹 說到生成樹首先要解釋一下樹,樹是乙個聯通的無向無環圖,多棵樹的集合則被稱為森林。因此,樹具有許多性質 1.兩點之間的路徑是唯一的。2.邊數等於點數減一。3.連線任意兩點都會生成乙個環。對於乙個無向聯通圖g的子圖,如果它包含g的所有點,則它被稱為g的生成樹,而各邊權和最小的生成樹則被稱...