題目傳送門:
現在才發現我這麼蒟蒻,並查集都不怎麼會用啊!!!
這道題似乎用了乙個很巧妙(估計是我太弱)的東西,就是用 i , i+n , i+n*2 來表示 i 在 a b c 三個種類,似乎是可以輪換的
然後每讀入一次先驗證是否是假話,不是的話就合併(好像是廢話)
具體見**吧
#include
#include
#include
using
namespace
std;
#define ll long long
int fa[150005],n,m,x,y,z,ans;
int find(int x)
void unite(int x,int y)
int main()
if (z==1)
else
}if (z==2)
else}}
cout
<}
並查集 食物鏈
noi2001,水題,但是我調了很久。食物鏈time limit 1000ms memory limit 10000k total submissions 27766 accepted 8066 description 動物王國中有三類動物a,b,c,這三類動物的食物鏈構成了有趣的環形。a吃b,b吃...
並查集 食物鏈
食物鏈 description 動物王國中有三類動物a,b,c,這三類動物的食物鏈構成了有趣的環形。a吃b,b吃c,c吃a。現有n個動物,以1 n編號。每個動物都是a,b,c中的一種,但是我們並不知道它到底是哪一種。有人用兩種說法對這n個動物所構成的食物鏈關係進行描述 第一種說法是 1 x y 表示...
並查集 食物鏈
動物王國中有三類動物a,b,c,這三類動物的食物鏈構成了有趣的環形。a吃b,b吃c,c吃a。現有n個動物,以1 n編號。每個動物都是a,b,c中的一種,但是我們並不知道它到底是哪一種。有人用兩種說法對這n個動物所構成的食物鏈關係進行描述 第一種說法是 1 x y 表示x和y是同類。第二種說法是 2 ...