1003 電話連線

2022-04-07 02:22:26 字數 1361 閱讀 6944

時間限制: 1 s

空間限制: 128000 kb

題目等級 : ** gold

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

輸入描述 input description

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

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

輸出描述 output description

輸出檔案的第一行為你連線的**線總數m,第二行至第m+1行為你連線的每條**線,格式為i j,(iprim演算法(好吧,聽你的)發現每一條邊的順序輸出,起始點為1.

第m+2行是連線這些**線的總費用。

樣例輸入 sample input

50 15 27 6 0

15 0 33 19 11

27 33 0 0 17

6 19 0 0 9

0 11 17 9 0

樣例輸出 sample output

1 42 5

資料範圍及提示 data size & hint

n<=100

1 #include2 #include3

const

int n=101;4

const

int inf=9999999;5

intmap[n][n];

6int

minn[n];

7bool

vis[n];

8int

fa[n];

9int

que[n];

10int

n,ans,cnt;

11int

main()

1222}23

for(int i=1;i<=n;++i)

2428 vis[1]=1;29

for(int i=1;ii)

3039 ans+=a;

40 vis[k]=1;41

if(a!=0 && a!=inf) cnt++;

42for(int j=1;j<=n;++j)

4349}50

}51 printf("

%d\n

",cnt);

52for(int i=0;ii)

5357 printf("%d"

,ans);

58return0;

59 }

1003 電話連線

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

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次 那麼題目就...