Pagini recente » Cod sursa (job #1461870) | Cod sursa (job #1144749) | Profil Monalisa001 | Rating Badea Razvan Theodor (theo234) | Cod sursa (job #1451570)
#include <iostream>
#include<fstream>
using namespace std;
int N;
int Q;
int p[100001];
int sz[100001],op,x,y;
int fin(int a)
{
while(a!=p[a])
a=p[a];
return a;
}
bool sameset(int a,int b)
{
int k=fin(a);
int j=fin(b);
if(k==j)
return true;
return false;
}
void uni(int a,int b)
{
int k=fin(a);
int j=fin(b);
p[k]=j;
}
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
freopen("disjoint.in","r",stdin);
freopen("disjoint.out","w",stdout);
cin>>N>>Q;
for(int i=1;i<=N;i++)
p[i]=i,sz[i]=1;
while(Q--)
{
cin>>op;
cin>>x>>y;
if(op==1)
{
if(!sameset(x,y))
uni(x,y);
}
if(op==2)
{
if(sameset(x,y))
cout<<"DA \n";
else cout<<"NU \n";
}
}
return 0;
}