Cod sursa(job #1922867)

Utilizator Kln1000Ciobanu Bogdan Kln1000 Data 10 martie 2017 19:21:05
Problema Paduri de multimi disjuncte Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <fstream>

using namespace std;

ifstream f ("disjoint.in");
ofstream t ("disjoint.out");

int rad[100010],n,q;

int main()
{
    f>>n>>q;
    for (int i=1;i<=n;++i)
        rad[i]=i;
    for (int aux,type,x,y;q;--q){
        f>>type>>x>>y;
        while (x!=rad[x]) aux=rad[rad[x]],rad[x]=aux,x=aux;
        while (y!=rad[y]) aux=rad[rad[y]],rad[y]=aux,y=aux;
        if (type==1)
            rad[x]=y;
        else
            if (x==y)
                t<<"DA\n";
            else
                t<<"NU\n";
    }
    return 0;
}