Pagini recente » Cod sursa (job #3135028) | Cod sursa (job #1780907) | Cod sursa (job #2563007) | Cod sursa (job #3256421) | Cod sursa (job #2671094)
#include <bits/stdc++.h>
using namespace std;
int v[100005];
int h[100005];
int rad(int x)
{
int tata=x;
while(v[tata]!=0)
{
tata=v[tata];
}
return tata;
}
void upd(int x, int y)
{
if(h[x]==h[y])
h[x]++;
if(h[x]>h[y])
v[y]=x;
else
v[x]=y;
}
int main()
{
ifstream cin ("disjoint.in");
ofstream cout ("disjoint.out");
int n,i,j,k,m;
cin>>n>>m;
for(i=1; i<=m; i++)
{
int t;
cin>>t;
int x,y;
cin>>x>>y;
if(t==1)
{
upd(rad(x),rad(y));
}
else
{
if(rad(x)==rad(y))
cout<<"DA\n";
else
cout<<"NU\n";
}
}
return 0;
}