Advertisement
Green_13

D S U

Feb 22nd, 2013
15
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.33 KB | None | 0 0
  1. void make_set(int v){
  2.      p[v]=v;
  3.      r[v]=0;}
  4. int find_set(int v){
  5.     if (p[v]==v)
  6.                 return v;
  7.     return find_set(p[v]);}
  8. void union_set(int v,int t){
  9.      v=find_set(v);
  10.      t=find_set(t);
  11.      if (v!=t){
  12.                if (r[v]>r[t]) swap(v,t);
  13.                p[v]=t;
  14.                if (r[v]==r[t]) r[t]++;}}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement