Pagini recente » Cod sursa (job #2558879) | Cod sursa (job #574386) | Cod sursa (job #472798) | Cod sursa (job #1450328) | Cod sursa (job #2856247)
#include <bits/stdc++.h>
using namespace std;
ifstream in("disjoint.in");
ofstream out("disjoint.out");
const int N=1e5+5;
int t[N];
int DeterminareRad(int nod)
{
for(int x=nod;x;)
{
if(!t[x]) return x;
x=t[x];
}
}
void Reuniune(int x,int y)
{
t[DeterminareRad(y)]=DeterminareRad(x);
//cout<<DeterminareRad(x)<<' '<<x<<'\n';
}
void Afisare(int n)
{
for(int i=1;i<=n;i++)
cout<<t[i]<<' ';
cout<<'\n';
}
int main()
{
int n,m;
in>>n>>m;
for(int i=1;i<=m;i++)
{
int cod,x,y;
in>>cod>>x>>y;
if(cod==1)
{
Reuniune(x,y);
}
else
{
if(DeterminareRad(x) == DeterminareRad(y))
out<<"DA";
else out<<"NU";
out<<'\n';
}
//Afisare(n);
}
return 0;
}