現有村落間道路的統計資料表中,列出了有可能建設成標準公路的若干條道路的成本,求使每個村落都有公路連通所需要的最低成本。
輸入資料報括城鎮數目正整數n(≤1000)和候選道路數目m(≤3n);隨後的m行對應m條道路,每行給出3個正整數,分別是該條道路直接連通的兩個城鎮的編號以及該道路改建的預算成本。為簡單起見,城鎮從1到n編號。
輸出村村通需要的最低成本。如果輸入資料不足以保證暢通,則輸出−1,表示需要建設更多公路。
6151
2513
3147
1541
6223
4246
2522
6634
6351
3614
51046
8563
12
#include
#include
#define maxn 1001
int n,m;
struct node
;void
shell_sort
(struct node a,
int n)
;//希爾排序
intgethead
(int a,
int head)
;int
main()
shell_sort
(edge,m)
;int head[n]
,sum =
0,cnt =0;
//分別是並查集,總權值,邊的計數
for(i =
0; i < n; i++
)for
(i =
0; i < m; i++)if
(cnt == n-1)
break;}
if(cnt < n-1)
printf
("%d"
,sum);}
intgethead
(int a,
int head)
void
shell_sort
(struct node a,
int n)
;//插入排序的改版
for( si=
0; sedgewick[si]
>= n; si++);
/* 初始的增量sedgewick[si]不能超過待排序列長度 */
for(
; sedgewick[si]
>
0; si++
) a[i]
= temp;}}
}
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個正整數,分別是該條道路直接連通的兩個城鎮的編號以及...