Cod sursa(job #1471309)

Utilizator Master011Dragos Martac Master011 Data 13 august 2015 16:34:55
Problema Paduri de multimi disjuncte Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include<cstdio>

using namespace std;

int t[100010],n;

int rad (int x){
    if(t[x]==0) return x;
    int r = rad (t[x]);
    t[x] = r;
    return r;
}

int main(){
    FILE *in=fopen("disjoint.in","r");
    FILE *out=fopen("disjoint.out","w");

    int m,type,x,y;  fscanf(in,"%d%d",&n,&m);
    while(m--){
        fscanf(in,"%d%d%d",&type,&x,&y);
        if(type==1)
            t[rad(y)]=x;
        else
            if(rad(x)==rad(y))
                fprintf(out,"DA\n");
            else
                fprintf(out,"NU\n");
    }

    fclose(in);
    fclose(out);
    return 0;
}