Cod sursa(job #902608)

Utilizator mads2194FMI - Andrei Stroe mads2194 Data 1 martie 2013 15:25:24
Problema Paduri de multimi disjuncte Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include<cstdio>
#include<vector>

#define N 100002

using namespace std;

int n;
int father[N];

int getfather(int node)
{
    if(father[node]) return getfather(father[node]);
    return node;
}

int main()
{
    freopen("disjoint.in","r",stdin);
    freopen("disjoint.out","w",stdout);

    int m,type,x,y;
    scanf("%d%d",&n,&m);
    while(m--)
    {
        scanf("%d%d%d",&type,&x,&y);

        if(type==1) father[getfather(x)]=getfather(y);
        else if(getfather(x)==getfather(y)) printf("DA\n");
        else printf("NU\n");
    }
    return 0;
}