現有村落間道路的統計資料表中,列出了有可能建設成標準公路的若干條道路的成本,求使每個村落都有公路連通所需要的最低成本。
輸入資料報括城鎮數目正整數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#define infinity 65535
using namespace std;
const int maxn=1001;
int dist[maxn], c[maxn][maxn], parent[maxn];
int n, m, cnt;
int findmin()
} return index;
}void prim(int s)
parent[s]=-1;
dist[s]=0;
int v;
while(1)
} }if(cnt==n)printf("%d", totalcost);//如果所有結點都收錄完畢,則輸出總費用
else printf("-1");//否則,則說明有些該圖裡面有迴路 ,無法生成樹 }
int main()
} int a, b, c;
for(int i=1; i<=m; i++)
prim(1);
return 0;
}
5 10 公路村村通 30分
5 10 公路村村通 30分 現有村落間道路的統計資料表中,列出了有可能建設成標準公路的若干條道路的成本,求使每個村落都有公路連通所需要的最低成本。輸入資料報括城鎮數目正整數n n le 1000 1 000 和候選道路數目m m le 3n 3 n 隨後的m m行對應m m條道路,每行給出3個正整...
5 9 公路村村通 30分
5 9 公路村村通 30分 現有村落間道路的統計資料表中,列出了有可能建設成標準公路的若干條道路的成本,求使每個村落都有公路連通所需要的最低成本。輸入格式 輸入資料報括城鎮數目正整數nn le 1000 1000 和候選道路數目mm le 3n 3n 隨後的mm行對應mm條道路,每行給出3個正整數,...
7 3 公路村村通(30 分)
7 5 暢通工程之最低成本建設問題 30 分 某地區經過對城鎮交通狀況的調查,得到現有城鎮間快速道路的統計資料,並提出 暢通工程 的目標 使整個地區任何兩個城鎮間都可以實現快速交通 但不一定有直接的快速道路相連,只要互相間接通過快速路可達即可 現得到城鎮道路統計表,表中列出了有可能建設成快速路的若干...