現有村落間道路的統計資料表中,列出了有可能建設成標準公路的若干條道路的成本,求使每個村落都有公路連通所需要的最低成本。
輸入格式:輸入資料報括城鎮數目正整數n(≤1000)和候選道路數目m(≤3n);隨後的m行對應m條道路,每行給出3個正整數,分別是該條道路直接連通的兩個城鎮的編號以及該道路改建的預算成本。為簡單起見,城鎮從1到n編號。
輸出格式: 輸出村村通需要的最低成本。如果輸入資料不足以保證暢通,則輸出−1,表示需要建設更多公路。
輸入樣例:6 15
1 2 5
1 3 3
1 4 7
1 5 4
1 6 2
2 3 4
2 4 6
2 5 2
2 6 6
3 4 6
3 5 1
3 6 1
4 5 10
4 6 8
5 6 3
輸出樣例:**:12
#include
#include
#define maxvertexnum 1003
#define infinity 65536
int mgraph[maxvertexnum]
[maxvertexnum]
;int dist[maxvertexnum]=;
int parent[maxvertexnum]=;
/* 如果需要輸出聯通路徑,這裡不需要,可無視 */
intfindmindist
(int nv)}if
(mindist < infinity)
return min;
// 如果找到返回頂點下標
else
return0;
}int
prim
(int nv)
/* 把1點收入 */
dist[1]
=0; parent[1]
=-1;
vcount++
;while(1
)}}if
(vcount == nv)
// 如果最小生成樹的邊數正好為nv-1
return totalcost;
else
// 反之,無法構成最小生成樹
return-1
;}intmain
(int argc,
char
const
*ar**)
mincost =
prim
(n);
printf
("%d\n"
, mincost)
;// 輸出結果
return0;
}
2023年天梯賽校選賽 7 11功夫傳人
一門武功能否傳承久遠並被發揚光大,是要看緣分的。一般來說,師傅傳授給徒弟的武功總要打個折扣,於是越往後傳,們的功夫就越弱 直到某一支的某一代突然出現乙個天分特別高的 或者是吃到了靈丹 挖到了特別的秘笈 會將功夫的威力一下子放大n倍 我們稱這種 為 得道者 這裡我們來考察某一位祖師爺門下的徒子徒孫家譜...
2023年天梯賽校選賽 7 13 深入虎穴
著名的王牌間諜 007 需要執行一次任務,獲取敵方的機密情報。已知情報藏在乙個地下迷宮裡,迷宮只有乙個入口,裡面有很多條通路,每條路通向一扇門。每一扇門背後或者是乙個房間,或者又有很多條路,同樣是每條路通向一扇門 他的手裡有一張 是其他間諜幫他收集到的情報,他們記下了每扇門的編號,以及這扇門背後的每...
3 10天梯賽校選
這次的題比兩天前簡單了很多,可我還是只是做出了1題而已。一共2個小時,共6道題。先來大致說一下自己出現的問題。1 遇到簡單,自己熟悉的題目不仔細審題,導致漏掉很多關鍵性的條件。2 當開始wa時,心態逐漸變化,有些沉不住氣了,越寫越亂。3 冷靜不下來,找不到合適的切入點。綜合前面幾次的失敗,我得出個結...