三倍的par陣列,每乙個部分分別表示a,b,c;
對於每一次資料判斷是否正確,總共3*3中情況,六種
錯誤,剩下三組對的就並在一起,輸入資料的時候,
千萬不要用while輸入多組,一組就夠了,20發wa
後的領悟。
#include
#include
#include
#include
#include
#include
using namespace std;
int n,k;
#define maxn 150001
int par[maxn],rank[maxn],t[maxn];
int x[maxn],y[maxn];
void init(int p)
}int find(int
x)void unite(int
x,inty)}
bool same(int
x,int
y)void solve()
if(t==1)
}else}}
printf("%d\n",ans);
}int main()
solve();
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是...