poj1308 簡單並查集

2021-09-08 23:18:56 字數 784 閱讀 6075

題目鏈結在這裡

題目大意:

給出點和邊,問能否構成一棵樹

思路:

用並查集水過去就行了。hdu1272和這道題一樣的,就是換了個題面和輸出。hdu1272

**如下:

#include #include #include #include #define rep(i, n) for(int i = 0; i < n; ++i)

#define clr(x) memset(x, 0, sizeof(x))

using namespace std;

const int maxn = 1e5 + 10;

int par[maxn], r[maxn];

bool vis[maxn];

int n, cnt, num_edge;

bool flag;

void init()

int find(int x)

bool unite(int x, int y)

return true;

}int main()

else

init();

continue;

}++num_edge;

if(!vis[x])

if(!vis[y])

if(!unite(x, y))

flag = false;

}return 0;

}

poj 1308 並查集判斷「樹」

思路 並查集 includeusing namespace std int pre 500 bool vis 500 void make set 初始化 int find set int x void join int x,int y 並 int main make set bool flag tr...

POJ 1308(並查集,判連通,無環)

題意 給定一組資料 u,v 代表u指向 v。判斷這組資料是否形成一棵樹。題解 利用樹的特性 連通且無環。或者利用樹的性質 無環 或者聯通 且 v e 1 無環可以用並查集去判定。連通可以根據並查集確定有幾個根節點來判斷。邊數 v是加的邊數,點 e可以用 set得出。無環。e v 1。include ...

POJ 1308(樹的判定)

給定乙個有向圖,問這是不是樹?各種判 出現2條相同的邊不是樹,自己指向自己不是樹,除根節點入度為0外其它點入度必須為1,森林,環都不是樹 program p1308 const maxn 15 var i,j longint b array 1.maxn,1.maxn of boolean inde...