現有村落間道路的統計資料表中,列出了有可能建設成標準公路的若干條道路的成本,求使每個村落都有公路連通所需要的最低成本。
輸入資料報括城鎮數目正整數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
#include
#define maxcities 1002
#define maxroads 3004
#define maxweigh 0x3f3f3f
using
namespace std;
int g[maxcities]
[maxcities]
;int
prim
(int n)
for(
int i=
2; i<=n; i++)}
if(mcost == maxweigh)
cost[mindex]=0
;//結點mindex工作結束
sumcost +
= mcost;
//修改cost
for(
int i=
2; i<=n; i++)}
}return sumcost;
}int
main()
else}}
//建立無向公路圖
for(
int i=
1; i<=m; i++
)printf
("%d"
,prim
(n))
;return0;
}
7 10 公路村村通
通過的 以及注釋,注釋最多的地方,是思考的最多的地方 include include includeusing namespace std define n 1005 下次不要用n來命名,不然容易和下面的n弄混,unnecessarily int f n 樹的母節點,例如節點1的母節點f 1 2,那...
7 10 公路村村通
傳送門 題目描述 現有村落間道路的統計資料表中,列出了有可能建設成標準公路的若干條道路的成本,求使每個村落都有公路連通所需要的最低成本。輸入格式 輸入資料報括城鎮數目正整數n 1000 和候選道路數目m 3n 隨後的m行對應m條道路,每行給出3個正整數,分別是該條道路直接連通的兩個城鎮的編號以及該道...
7 10 公路村村通
7 10 公路村村通 30 分 現有村落間道路的統計資料表中,列出了有可能建設成標準公路的若干條道路的成本,求使每個村落都有公路連通所需要的最低成本。輸入資料報括城鎮數目正整數n 1000 和候選道路數目m 3n 隨後的m行對應m條道路,每行給出3個正整數,分別是該條道路直接連通的兩個城鎮的編號以及...