Cod sursa(job #1614891)

Utilizator T.C.11Tolan Cristian T.C.11 Data 26 februarie 2016 11:42:01
Problema Paduri de multimi disjuncte Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <fstream>

using namespace std;

ifstream fin("disjoint.in");
ofstream fout("disjoint.out");


int n,m,j,i,o,x,y,c,v[100001];

void actualizare(int x)
{
    if (v[x]==x)
        o=x;
    else
    {
        actualizare (v[x]);
        v[x]=o;
    }
}


int main()
{
    fin>>n>>m;
    for (i=1;i<=n;i++)
        v[i]=i;
    for (i=1;i<=m;i++)
    {
        fin>>c>>x>>y;
        actualizare(x);
        actualizare(y);
        if (c==1)
            v[y]=v[x];
        else
        {
            if (v[x]==v[y])
                fout<<"DA\n";
            else
                fout<<"NU\n";
        }
    }
    return 0;
}