如題,現在有乙個並查集,你需要完成合併和查詢操作。
第一行包含兩個整數 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
輸出 #1ny
ny對於 30% 的資料,n ≤ 10,m ≤ 20 。
對於 70% 的資料,n ≤ 100,m ≤ 103。
對於 100% 的資料,1 ≤ n ≤ 104,1 ≤ m ≤ 2 ×105。
(函式詳解)
#include
const
int maxn =
1e4+5;
int f[maxn]
, h[maxn]
;int n, m, z, x, y;
void
init()
}int
find
(int x)
void
merge
(int a,
int b)
else
}int
main()
else
if(z==2)
}return0;
}
並查集模板題 P3367 模板 並查集
如題,現在有乙個並查集,你需要完成合併和查詢操作。第一行包含兩個整數n m,表示共有n個元素和m個操作。接下來m行,每行包含三個整數zi xi yi 當zi 1時,將xi與yi所在的集合合併 當zi 2時,輸出xi與yi是否在同一集合內,是的話輸出y 否則話輸出n 如上,對於每乙個zi 2的操作,都...
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 輸出格式 如上,對於每乙...