Cod sursa(job #1933189)

Utilizator Cudrici_CarinaCudrici Carina Cudrici_Carina Data 20 martie 2017 15:38:31
Problema Paduri de multimi disjuncte Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <fstream>
using namespace std;
ifstream fi("disjoint.in");
ofstream fo("disjoint.out");
const int dim = 100001;
int n,m,op,t[dim],x,y;

int radacina (int x)
{
  int r=x,j;
  while(t[r]!=0) {r=t[r];}
  while(t[x]!=0) {j=t[x];t[x]=r;x=j;}
  return r;
}

int main()
{
    fi>>n>>m;
    for(int i = 1 ; i<=m ; i++)
    {
        fi>>op>>x>>y;
        if (op==1)
            t[radacina(y)]=radacina(x);
        if (op==2)
            if(radacina(x)==radacina(y)) fo<<"DA"<<'\n';
            else fo<<"NU"<<'\n';
    }
    return 0;
}