| 21 | } |
| 22 | |
| 23 | void unionn(int u, int v, vector<int> &parent, vector<int> &rank) { |
| 24 | u = findPar(u, parent); |
| 25 | v = findPar(v, parent); |
| 26 | if(rank[u] < rank[v]) { |
| 27 | parent[u] = v; |
| 28 | } |
| 29 | else if(rank[v] < rank[u]) { |
| 30 | parent[v] = u; |
| 31 | } |
| 32 | else { |
| 33 | parent[v] = u; |
| 34 | rank[u]++; |
| 35 | } |
| 36 | } |
| 37 | int main(){ |
| 38 | int N=5,m=6; |
| 39 | vector<node> edges; |