PTA 7 1 公路村村通 30分

2021-10-06 11:20:34 字數 1087 閱讀 9563

現有村落間道路的統計資料表中,列出了有可能建設成標準公路的若干條道路的成本,求使每個村落都有公路連通所需要的最低成本。

輸入資料報括城鎮數目正整數n(≤1000)和候選道路數目m(≤3n);隨後的m行對應m條道路,每行給出3個正整數,分別是該條道路直接連通的兩個城鎮的編號以及該道路改建的預算成本。為簡單起見,城鎮從1到n編號。

輸出村村通需要的最低成本。如果輸入資料不足以保證暢通,則輸出−1,表示需要建設更多公路。

6151

2513

3147

1541

6223

4246

2522

6634

6351

3614

51046

8563

12
利用prim演算法實現最小生成樹即可ac

#include

using

namespace std;

int ls[

1005][

1005];

intmain()

;//dist[x] 表示x節點到已有生成樹的最短距離

for(

int i =

0; i < m; i++

)for

(int i =

1; i <= n; i++

)//記錄每個點到1的最短距離

dist[i]

= ls[1]

[i];

dist[1]

=0;//訪問過的點設為0

while(1

)bool flag =

true

;for

(int i =

1; i <=n; i++

)//如果每個節點的dist值都為零,則生成樹成功,否則表明有點不連通

if(dist[i]

) flag =

false;if

(flag)

cout

cout<<-1

}

PTA 公路村村通 (30 分)

7 3 公路村村通 30 分 現有村落間道路的統計資料表中,列出了有可能建設成標準公路的若干條道路的成本,求使每個村落都有公路連通所需要的最低成本。輸入格式 輸入資料報括城鎮數目正整數n 1000 和候選道路數目m 3n 隨後的m行對應m條道路,每行給出3個正整數,分別是該條道路直接連通的兩個城鎮的...

PTA 7 10 公路村村通 30分

現有村落間道路的統計資料表中,列出了有可能建設成標準公路的若干條道路的成本,求使每個村落都有公路連通所需要的最低成本。輸入資料報括城鎮數目正整數n 1000 和候選道路數目m 3n 隨後的m行對應m條道路,每行給出3個正整數,分別是該條道路直接連通的兩個城鎮的編號以及該道路改建的預算成本。為簡單起見...

5 10 公路村村通 30分

5 10 公路村村通 30分 現有村落間道路的統計資料表中,列出了有可能建設成標準公路的若干條道路的成本,求使每個村落都有公路連通所需要的最低成本。輸入資料報括城鎮數目正整數n n le 1000 1 000 和候選道路數目m m le 3n 3 n 隨後的m m行對應m m條道路,每行給出3個正整...