問題
c: 建立通訊
時間限制
: 1 sec
記憶體限制
: 128 mb
提交:
7 解決: 4
[提交][狀態
][討論版]
題目描述
據不完全統計,受**影響,四川大部分災區通訊陷入癱瘓,數千個基站因斷電、傳輸中斷等原因退出服務,目前總公司已緊急部署對受災地區進行通訊搶修。按照應急通訊保障預案,必須盡快、付出代價最小,效率更高來全力恢復通訊。
由於四川大部分災區都處於山區,有很多基站之間不能直接建立通訊。現已知建立各基站之間直接通訊的代價,問如何建立總代價最小的通訊網,使得任意兩個基站之間都能通訊?
輸入第1
行:n (n
為的個數)第
2~n+1
行:pi1 pi2 ……pin
(pij
為建立基站
i與基站
j直接通訊的代價
i, j=1 , 2, …., n )
輸出
t (建立通訊網的最小代價數)
【約束條件】(1
)10 ≤ n ≤1000(2
)-1 ≤ pij ≤ 1000 pij
為整數,若
pij = -1
,表示基站
i與基站
j不能直接通訊(3
)時間限制:
1000ms
樣例輸入5
0 160 30 20 -1
160 0 200 -1 -1
30 200 0 50 80
20 -1 50 0 70
-1 -1 80 70 0
樣例輸出
280
#include #include #include #define n 1001
#define inf 99999999
int e[n][n], book[n], dis[n];
int main()
for(i=1; i<=n; i++)
dis[i]=e[1][i];
book[1]=1;
count++;
while(counte[j][k])
dis[k]=e[j][k];
}}
printf("%d\n", sum);
} return 0;
}
最小生成樹 Prime演算法
對於乙個圖,它的所有生成樹中必有乙個 邊的權值最小 的生成樹,我們把它稱為最小生成樹。概念很抽象,換做實際問題 有十個城市,各個城市之間距離或遠或近。需要建設乙個道路網,把十個城市連線在一起,要求道路網的道路長度最小。各個城市的連線可以抽象為乙個圖,本質上即是求該圖的乙個最小生成樹。每乙個圖可能有多...
最小生成樹 prime演算法
生成樹頂點集合,初始只含起點 v0。visit i 1 i點已在生成樹中 lowcost i 生成樹中的點 到頂點 i 的最短距離。演算法過程 1.初始化生成樹,一開始只將起點 v0 加入到 樹中。2.初始化 lowcost 陣列,初值為 v0 到各頂點的距離,無邊則為 inf。重複以下步驟,直到所...
prime演算法 最小生成樹
若有差錯,望請指正!最小生成樹prime演算法,時間複雜度o v 2 時間複雜度只與頂點個數有關,與邊無關 gedge define max 1000 可以更大 void mintree prime graph g int min arc 從min weight中挑選出的最小的邊,即已計算的頂點群與...