補題系列 1 最小佈線

2021-08-11 07:05:58 字數 1044 閱讀 9852

北航資料結構judge**原題,抄襲被查重後果自負!

5個月之前,由於資料結構期末考試不考圖的大題,所以圖學得不紮實,這裡特地補上!

【問題描述】

北航主要辦公科研樓有新主樓、逸夫樓、如心樓、辦公樓、圖書館、主樓、一號樓…。北航網路中心計畫要給相關建築物間鋪設光纜進行網路連通,請給出用料最少的鋪設方案。

編寫程式輸入乙個辦公區域分布圖及建築物之間的距離,計算出用料最少的鋪設方案(只有一組最優解,不用考慮多組解)。要求採用prim或kruskal演算法實現。

【輸入形式】

辦公區域分布圖的頂點(即建築物)按照自然數(0,1,2,n-1)進行編號,從標準輸入中首先輸入兩個正整數,分別表示線路圖的頂點的數目和邊的數目,然後在接下的行中輸入每條邊的資訊,每條邊佔一行,具體形式如下:

...即頂點vi和vj之間邊的權重是weight,邊的編號是id。

【輸出形式】

輸出鋪設光纜的最小用料數,然後另起一行輸出需要鋪設的邊的id,並且輸出的id值按照公升序輸出。

【樣例輸入】

6 10

1 0 1 600

2 0 2 100

3 0 3 500

4 1 2 500

5 2 3 500

6 1 4 300

7 2 4 600

8 2 5 400

9 3 5 200

10 4 5 600

【樣例輸出】

1500

2 4 6 8 9

#include#include#define max 300

using namespace std;

struct routes;

routes road[max];

int pre[max];

int ans[max];

int allusenum=0;

int find(int root)

return root;

}bool cmp(const routes a,const routes b)

1 28寒假集訓 1(補題)

學不會今天的內容 種樹,只能補補昨天的題了otz 先補了個昨天的g題 竟因沒反應過來priority queue是優先佇列沒有寫qaq太菜了 kattis guessthedatastructure 題意 給n行資料,如果是1就塞進去,2就拿出來,判斷是佇列還是優先佇列還是棧,都不是就輸出impos...

程式設計 CSP M1 補題

咕咕東是個貪玩的孩子,有一天,他從上古遺跡中得到了乙個神奇的圓環。這個圓環由字母表組成首尾相接的環,環上有乙個指標,最初指向字母a。咕咕東每次可以順時針或者逆時針旋轉一格。例如,a順時針旋轉到z,逆時針旋轉到b。咕咕東手裡有乙個字串,但是他太笨了,所以他來請求你的幫助,問最少需要轉多少次。輸入格式輸...

QFNU 天梯賽練習 1 補題

給定 n 個人的愛好,求這 n 個人一共組成了多少個圈子,每個圈子的大小。使用並查集維護即可。include using namespace std int p 1005 n,a 1005 int find int x int main mapcnt for int i 1 i n i cnt fi...