//查找
int find_set(int x, vector<int> &arr)
{
if(x!=arr[x]) arr[x] = find_set(arr[x], arr);
return arr[x];
}
//合并
void Union(int x, int y, vector<int> &arr)
{
x = find_set(x, arr);
y = find_set(y, arr);
if (x!=y)
{
arr[x] = y;
}
}