poj1182食物鏈 並查集 挑戰程式設計競賽例題

2022-06-05 05:12:07 字數 1038 閱讀 3165

食物鏈

time limit:

memory limit:

total submissions:

accepted:

description

input

output

只有乙個整數,表示假話的數目。

sample input

100 7

1 101 1

2 1 2

2 2 3

2 3 3

1 1 3

2 3 1

1 5 5

sample output

3
source

noi 01

本題的難點在於不是只有一類,而是有三類,找到乙個維護這三個類的關係的方法就好做了。

1 #include 2 #include 3

#define max_n 150000+545

using

namespace

std;67

int par[max_n];//

父節點8

int depth[max_n];//深度9

10void init(int

n)15}16

int find_father(int

t)else23}

24void unite(int t1,int

t2)30

if(depth[f1]39}

4041

bool same(int x,int

y)44

45int

main()

4658

if(d==1

)else

67 }else

else76}

77}78 printf("%d"

,ans);

79return0;

80 }

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是...