Pagini recente » Cod sursa (job #3293854) | Cod sursa (job #2754274) | Cod sursa (job #1478131) | Cod sursa (job #676607) | Cod sursa (job #2928081)
#include<iostream>
using namespace std;
const int NMAX = 1e5 + 1;
int t[NMAX];//t[i] = tatal lui i,daca t[i] = 0,i e fatherless
void unite(int a,int b)
{
int root = b;
while(t[root])
{
root = t[root];
}
t[root] = a;
}
bool find(int a,int b)
{
int ra = a,rb = b;
while(t[ra]) ra = t[ra];
while(t[rb]) rb = t[rb];
return (ra == rb);
}
int main()
{
freopen("disjoint.in","r",stdin);
freopen("disjoint.out","w",stdout);
int n,q,a,b,t;
cin >> n >> q;
while(q--)
{
cin >> t >> a >> b;
if(t & 1)
{
unite(a,b);
}
else
{
if(find(a,b))
{
cout << "DA\n";
}
else
{
cout << "NU\n";
}
}
}
}