Pagini recente » Cod sursa (job #2156171) | Cod sursa (job #2319488) | Cod sursa (job #2336275) | Cod sursa (job #1231775) | Cod sursa (job #1439074)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream f("disjoint.in");
ofstream g("disjoint.out");
int N,M,tip,x,y,i,v[100005];
int verif(int nod)
{
if(nod!=v[nod])
{
v[nod]=verif(v[nod]);
return v[nod];
}
return nod;
}
void reun(int x, int y)
{
x=verif(x);
y=verif(y);
v[x]=y;
}
int main()
{
f>>N>>M;
for(i=1;i<=N;i++)
v[i]=i;
for(i=0;i<M;i++)
{
f>>tip>>x>>y;
if(tip==1)
reun(x,y);
else
{
if(verif(x)==verif(y))
g<<"DA\n";
else
g<<"NU\n";
}
}
f.close();
g.close();
return 0;
}