POJ 2524第一个并查集

POJ 2524第一个并查集

并查集的入门题目 阿 为什么又是一道水题。。。。

void make_set(int x)
{
    p[x]=x;
    rank[x]=0;
}

int find_set(int x)
{
    if(x==p[x]) return x;
    else p[x]=find_set(p[x]);
}


void union_set(int x,int y)
{
    x=find_set(x);
    y=find_set(y);
    if(rank[x]>rank[y]) p[y]=x;
    else
      {
          p[x]=y;
          if(rank[x]==rank[y]) rank[y]++;
      }   
}


你可能感兴趣的:(POJ 2524第一个并查集)