poj 2236 並查集 計算機網路

2021-06-04 11:06:27 字數 612 閱讀 3859

題意:給出n,d代表有n個計算機,還有可以建立連線的限制距離d。o 後面的數字代表了維修好的計算機,s 後面的兩個數字用來判斷,這兩個計算機是否建立的連線。

思路:並查集,每修好乙個計算機,進行標記,同時列舉所有計算機,在維修好的計算機中,找出可以建立連線的計算機,進行合併。

#include#includeusing namespace std;

struct point

p[1010];

bool vis[1010];

int n,d;

double get_dis(int i,int j)//得到距離

void make_set()

int find_set(int x)

return p[x].parent;

}void join(int x,int y)

}int main()

make_set();

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

//printf("%d,%d\n",p[i].x,p[i].y);

while(scanf("%s",s)!=eof)}}

else

}}

POJ2236 簡單並查集

poj2236 題目大意 有很多臺電腦,兩台電腦距離在d之內才能通訊,或者通過第三台電腦進行通訊。判斷兩台電腦能否通訊。0表示修復,s表示測試。題解 這是簡單的並查集,s的時候只要判斷兩台電腦是不是在乙個集合中就行,0將兩個點合併的時候注意要判斷距離是不是小於d。include include in...

poj 2236 並查集模板

題意 n台壞了的計算機放置在n個不同的位置,若兩台計算機的距離不超過d且兩台計算機都已修好,那麼這兩台計算機可以通訊。間接通訊也叫做通訊。現進行若干次操作,修計算機或查詢兩台計算機是否可通訊。查詢時判斷時候可通訊。題解 並查集 1.這個就是並查集模板題。2.憑藉著以往的記憶寫了乙個先是wa後是t,看...

poj2236 並查集板子題

題目大意 給你n臺電腦和乙個距離d,然後給你n臺電腦的座標xi,yi,0 xi,yi 10000,d 20000,給你最多3e5次查詢,每次查詢中,o x 表示修復了x號電腦,s x y 表示詢問x和y是否可以通訊,返回查詢結果 如果兩台電腦距離在d之內,那麼兩台電腦可以相連 題解 一共3e5次查詢...