CODE VS 1003 電話連線

2021-08-07 03:06:20 字數 1082 閱讀 3132

問題:

/**

1003 **連線 */

#include

#define maxn 100

#define maxc 10001

#define debug 1

struct _lineline[maxn]; // **連線表

struct _citycity[maxn + 1]; // 城市連線狀態結構體

int cost[maxn + 1][maxn + 1]; // **線費用矩陣

int n; // 城市數目

int main(int argc, char *argv)

#endif

#ifdef debug

fscanf(fp, "%d", &n);

#else

scanf("%d", &n);

#endif

for(xi = 1; xi <= n; xi++)

}// 初始化已連線城市

for(xi = 1; xi <= n; xi++)

city[1].c = 0; // 城市1作為起點

line_count = 0;

line_cost = 0;

for(count = 1; count <= n; count++)

} city[next].v = 1;

// 更新未接通城市接通費用

for(xi = 1; xi <= n; xi++)

} // 如果新接通城市費用不為0,則將其新增到**連線表

if(minc != 0)

}printf("%d\n", line_count);

for(count = 0; count < line_count ; count++)

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

#ifdef debug

fclose(fp);

#endif

return

0;}

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

codevs 1003 電話連線

拿到這個題,看到說要用prim演算法,感覺是個模板題,不過好像自己也沒怎麼寫過關於最小生成樹的題目,就嘗試著自己寫乙個prim演算法吧。基本思路是in i 維護每個i是否在生成樹裡面,用優先順序佇列儲存邊struct,過載小於運算子,但是不知道為什麼就是wa了。現在也還沒相通。然後就去看題解了,不過...