Cod sursa(job #2115795)

Utilizator patricia.predaPatricia Preda patricia.preda Data 27 ianuarie 2018 10:14:01
Problema Paduri de multimi disjuncte Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include <iostream>
#include <cstdio>

using namespace std;

int n,m,operatie,codx,cody,tati[100000];

int adaug(int x)
{
    if(tati[x]==0)
       return x;
    tati[x]=adaug(tati[x]);
    return tati[x];
}

void verificare(int x,int y)
{
    int dx=adaug(codx);
    int dy=adaug(cody);
    if(dx==dy)
        printf("DA\n");
    else
        printf("NU\n");
}
void citire()
{
    scanf("%d %d", &n, &m);
    for(int i=0;i<m;i++)
    {
       scanf("%d %d %d", &operatie, &codx, &cody);
       if(operatie==1)
            {
                tati[adaug(codx)]=adaug(cody);
            }
       else
            verificare(codx,cody);
    }
}

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