Cod sursa(job #1403338)

Utilizator alevasluialeHuhurez Marius alevasluiale Data 27 martie 2015 11:01:46
Problema Paduri de multimi disjuncte Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include <fstream>

using namespace std;
const int N=100001;
ifstream fin("disjoint.in");
ofstream fout("disjoint.out");
int tata[N],ina[N];
int find(int x)
{
    while(tata[x]!=x) x=tata[x];

    return x;
}
int main()
{
    int n,m,i,ok,x,y;
    fin>>n>>m;
    for(i=1;i<=n;i++)
    {
        tata[i]=i;
    }
    for(i=1;i<=m;i++)
    {
        fin>>ok>>x>>y;
        if(ok==1) tata[find(x)]=find(y);
        else if(find(x)==find(y)) fout<<"DA\n";
        else fout<<"NU\n";
    }
}