5-10 公路村村通 (30分)
現有村落間道路的統計資料表中,列出了有可能建設成標準公路的若干條道路的成本,求使每個村落都有公路連通所需要的最低成本。
輸入資料報括城鎮數目正整數n
n(\le 1000≤1
000)和候選道路數目m
m(\le 3n≤3
n);隨後的m
m行對應m
m條道路,每行給出3個正整數,分別是該條道路直接連通的兩個城鎮的編號以及該道路改建的預算成本。為簡單起見,城鎮從1到n
n編號。
輸出村村通需要的最低成本。如果輸入資料不足以保證暢通,則輸出-1−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 max 1010
using namespace std;
int g[max][max];
int dist[max];
int findmin(int n)
} if(mindist < max)
else }
int prim(int s, int n)
int allweight = 0,vcount = 0;
dist[s] = 0;
vcount++;
while(1)
allweight += dist[v];
vcount++;
dist[v] = 0;
for(int w = 1; w <= n; w++)
} }
if(vcount < n)
return allweight;
}int main(void)
for(int i = 0; i < m; i++)
int tot = prim(1,n);
printf("%d",tot);
return 0;
}
5 9 公路村村通 30分
5 9 公路村村通 30分 現有村落間道路的統計資料表中,列出了有可能建設成標準公路的若干條道路的成本,求使每個村落都有公路連通所需要的最低成本。輸入格式 輸入資料報括城鎮數目正整數nn le 1000 1000 和候選道路數目mm le 3n 3n 隨後的mm行對應mm條道路,每行給出3個正整數,...
7 3 公路村村通(30 分)
7 5 暢通工程之最低成本建設問題 30 分 某地區經過對城鎮交通狀況的調查,得到現有城鎮間快速道路的統計資料,並提出 暢通工程 的目標 使整個地區任何兩個城鎮間都可以實現快速交通 但不一定有直接的快速道路相連,只要互相間接通過快速路可達即可 現得到城鎮道路統計表,表中列出了有可能建設成快速路的若干...
7 11 公路村村通 (30 分)
這個題就是最小生成樹演算法,倒是沒有異議,但是被自己坑了很多次qaq 自己摸出來以前的乙個模板直接對著敲上了,不細心把自己坑哭了 問題一 find函樹在找到祖先時 順便讓所有的節點都是祖先的直接兒子就好了,這樣能降低時間複雜度 問題二 判斷道路不夠的時候,既然所有的節點的直接爸爸都是祖先,只要有乙個...