Cod sursa(job #1563198)

Utilizator AdrianVrAdrian Stefan Vramulet AdrianVr Data 5 ianuarie 2016 19:00:09
Problema Paduri de multimi disjuncte Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include<fstream>
#define Nmax 100001
using namespace std;
ifstream f("disjoint.in");
ofstream g("disjoint.out");
int n,m,t,x,y,padure[Nmax],v[Nmax];
void reuniune(int x,int y)
{padure[x]=y;
}
int cautaradix(int x)
{while(x!=padure[x])
  x=padure[x];
 return x;
}
int main()
{int i,j;
    f>>n>>m;
for(i=1;i<=Nmax;i++)
  padure[i]=i;
for(i=1;i<=m;i++)
{f>>t>>x>>y;
if(t==1)
 reuniune(x,y);
else
 if(cautaradix(x)==cautaradix(y))
   g<<"DA"<<'\n';
 else
   g<<"NU"<<'\n';
}

    return 0;
}