時間限制: 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 #include3const
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次 那麼題目就...