Code Vs 1003 電話連線

2021-06-27 04:43:00 字數 921 閱讀 5701

比較水的題目,裸prim....下面**寫得有點麻煩...僅供參考..(其實不用寫那麼多記錄...我是蒟蒻...qaq)

#include#include#include#include#include#include#include#includeusing namespace std;

//------------------------------------------

const int m=105;

const int inf=0xfffffff;

//-----------------------------------------

typedef pairp;

priority_queue, greater> que;//單調佇列優化prim

//------------------------------------------

struct node

;node ans[m];

int map[m][m];

int n;

int sum=0;

int cost[m];

int vis[m];

int re[m];//記錄連線的點的順序

int point[m];//記錄連鬆弛改點的點

//-----------------------------------------

bool cmp(node a, node b)

temp[++tot].x=ans[i].x;

temp[tot].y=ans[i].y;

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

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

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

}int main()

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了。現在也還沒相通。然後就去看題解了,不過...

Codevs 1003 電話連線

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