Pagini recente » Cod sursa (job #638242) | Cod sursa (job #938887) | Cod sursa (job #3356383) | Cod sursa (job #3329001) | Cod sursa (job #3309606)
#include <fstream>
using namespace std;
ifstream cin("disjoint.in");
ofstream cout("disjoint.out");
int v[100005],s[100005];
int p(int i)
{
if(i==v[i])
return i;
return v[i]=p(v[i]);
}
void comb(int a, int b)
{
a=p(a);
b=p(b);
if(s[a]>s[b])
swap(a,b);
v[a]=b;
s[b]+=s[a];
}
int main()
{
int n,m,x,y,z;
cin>>n>>m;
for(int i=1;i<=n;i++)
{
v[i]=i;
s[i]=1;
}
for(int i=1;i<=m;i++)
{
cin>>x>>y>>z;
if(x==1)
comb(y,z);
else
{
if(p(y)==p(z))
cout<<"DA\n";
else
cout<<"NU\n";
}
}
return 0;
}