poj1182 食物鏈 並查集

2021-08-27 02:44:09 字數 641 閱讀 5460

//poj1182 並查集

//題目意思:有三種動物a,b,c。a吃b,b吃c,c吃a。給出一系列說法,判斷錯誤個數。

//小菜在這道並查集入門題卡了很久啊,終於下定決心把它啃掉。

//原來要記錄一下當前動物與根的關係。在給出的兩種動物中的根不相同時要進行樹的合併。

//若兩動物根相同可以根據它們與根的關係去判斷。

//**如下:

#include#includeusing namespace std;

int path[50002],relation[50002];

void makeset ( int x)

int findset ( int x)

return path[x];

}void unionset ( int px,int py,int d)

int main()

if(d==2&&x==y)

int px=findset(x),

py=findset(y);

if(px!=py)//還沒聯絡,「並」操作

else

else

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

return 0;

}

POJ 1182 食物鏈 並查集

此題利用並查集解決。對於每只動物i建立3個元素i a,i b,i c,並用這3 n個元素建立並查集。1 i x表示 i屬於種類x 2 並查集你的每一組表示組內所有元素代表的情況同時發生或不發生。對於每一條資訊,只需要按照下列操作即可 1.第一種 x,y同類,合併x a和y a x b和y b x c...

POJ 1182 食物鏈 (並查集)

食物鏈time limit 1000ms memory limit 10000k total submissions 48713 accepted 14202 description 動物王國中有三類動物a,b,c,這三類動物的食物鏈構成了有趣的環形。a吃b,b吃c,c吃a。現有n個動物,以1 n編...

POJ 1182 食物鏈(並查集)

description 動物王國中有三類動物a,b,c,這三類動物的食物鏈構成了有趣的環形。a吃b,b吃c,c吃a。現有n個動物,以1 n編號。每個動物都是a,b,c中的一種,但是我們並不知道它到底是哪一種。有人用兩種說法對這n個動物所構成的食物鏈關係進行描述 第一種說法是 1 x y 表示x和y是...