1003 電話連線

2021-06-21 22:05:14 字數 806 閱讀 1438

題目描述 description

乙個國家有n個城市。若干個城市之間有**線連線,現在要增加m條**線(**線當然是雙向的了),使得任意兩個城市之間都直接或間接經過其他城市有**線連線,你的程式應該能夠找出最小費用及其一種連線方案。

輸入描述 input description

輸入檔案的第一行是n的值(n<=100).

第二行至第n+1行是乙個n*n的矩陣,第i行第j列的數如果為0表示城市i與城市j有**線連線,否則為這兩個城市之間的連線費用(範圍不超過10000)。

輸出描述 output description

輸出檔案的第一行為你連線的**線總數m,第二行至第m+1行為你連線的每條**線,格式為i j,(i

n<=100

#include#include#define inf 0x7fffffff

#define max 105

int map[max][max],cost[max],head[max],tail[max],sum,m,cnt;

void prim()

for(i=1;imap[flag][j])

}}int main()

{ freopen("b.txt","r",stdin);

while(scanf("%d",&m)==1)

{ int i,j;

for(i=1;i<=m;i++)

for(j=1;j<=m;j++)

scanf("%d",&map[i][j]);

prim();

printf("%d\n",cnt);

for(i=0;i

1003 電話連線

時間限制 1 s 空間限制 128000 kb 題目等級 gold 乙個國家有n個城市。若干個城市之間有 線連線,現在要增加m條 線 線當然是雙向的了 使得任意兩個城市之間都直接或間接經過其他城市有 線連線,你的程式應該能夠找出最小費用及其一種連線方案。輸入描述 input description ...

Code Vs 1003 電話連線

比較水的題目,裸prim.下面 寫得有點麻煩.僅供參考.其實不用寫那麼多記錄.我是蒟蒻.qaq include include include include include include include includeusing namespace std const int m 105 con...

codevs 1003 電話連線

題解 prim 分析 從輸出要求中就可以看出本題是prim演算法求最小生成樹,所以,只需要實現就可以了。那麼,我們來回顧一下prim演算法 1.設有2個集合v1,v2 預設有5個點 2.在圖中找到離當前第乙個點最近的點,我們假設是2,然後用2去鬆弛每一條邊 3.重複第2步直到迴圈n 1次 那麼題目就...