并查集模板

int father[MAXM];
void init()
{
    for(int i=0;i<MAXM;i++)
        father[i] = i;
}
int find(int a)
{
    return father[a]==a?a:father[a] = find(father[a]);
}
void add(int a,int b)
{
    int f_a = find(a);
    int f_b = find(b);
    if(f_a!=f_b) father[f_b] = f_a;
}

猜你喜欢

转载自hellojyj.iteye.com/blog/2100808
今日推荐