如題,現在有乙個並查集,你需要完成合併和查詢操作。
第一行包含兩個整數n、m,表示共有n個元素和m個操作。
接下來m行,每行包含三個整數zi、xi、yi
當zi=1時,將xi與yi所在的集合合併
當zi=2時,輸出xi與yi是否在同一集合內,是的話輸出y;否則話輸出n
如上,對於每乙個zi=2的操作,都有一行輸出,每行包含乙個大寫字母,為y或者n
輸入 #1複製
4 72 1 2
1 1 2
2 1 2
1 3 4
2 1 4
1 2 3
2 1 4
輸出 #1複製
nyny
時空限制:1000ms,128m
資料規模:
對於30%的資料,n<=10,m<=20;
對於70%的資料,n<=100,m<=1000;
對於100%的資料,n<=10000,m<=200000。
特別注意:fa陣列需要進行初始化,每個結點的祖先都是自己
ac**兼模板
#include usingnamespace
std;
const
int nn = 1e6+10
;int
n,m;
intfa[nn];
int find(int x)
void join(int x,int y)
intmain()else
else}}
}
P3367 模板 並查集
題目描述 如題,現在有乙個並查集,你需要完成合併和查詢操作。輸入格式 第一行包含兩個整數 n,m 表示共有 n 個元素和 m 個操作。接下來 m 行,每行包含三個整數 zi,xi,yi。當 zi 1 時,將 xi與 yi所在的集合合併。當 zi 2 時,輸出 xi與 yi是否在同一集合內,是的輸出 ...
P3367 模板 並查集
如題,現在有乙個並查集,你需要完成合併和查詢操作。輸入格式 第一行包含兩個整數n m,表示共有n個元素和m個操作。接下來m行,每行包含三個整數zi xi yi 當zi 1時,將xi與yi所在的集合合併 當zi 2時,輸出xi與yi是否在同一集合內,是的話輸出y 否則話輸出n 輸出格式 如上,對於每乙...
P3367 模板 並查集
如題,現在有乙個並查集,你需要完成合併和查詢操作。輸入格式 第一行包含兩個整數n m,表示共有n個元素和m個操作。接下來m行,每行包含三個整數zi xi yi 當zi 1時,將xi與yi所在的集合合併 當zi 2時,輸出xi與yi是否在同一集合內,是的話輸出y 否則話輸出n 輸出格式 如上,對於每乙...