Pagini recente » Cod sursa (job #2847421) | Cod sursa (job #1825330) | Cod sursa (job #3269106) | Profil beer_team | Cod sursa (job #3286616)
///circular
//unordered_
#include <bits/stdc++.h>
#define MOD 1000000007
#define big 1e9
using namespace std;
ifstream fin("disjoint.in");
ofstream fout("disjoint.out");
int i,t[100010],r[100010],a,b,c,n,q ;
int qu(int a)
{
if(a==t[a])
return a;
t[a]=qu(t[a]);
return t[a];
}
void up(int a,int b)
{
int ta=qu(a);
int tb=qu(b);
if(r[ta]>r[tb])
t[tb]=ta;
else if(r[ta]<r[tb])
t[ta]=tb;
else
{
t[ta]=tb;
r[tb]++;
}
}
int main()
{
cin.tie(0);
cout.tie(0);
fin>>n>>q;
for(i=1; i<=n; i++)
t[i]=i;
for(i=1; i<=q; i++)
{
fin>>c>>a>>b;
if(c==1)
up(a,b);
else
{
if(qu(a)==qu(b))
fout<<"DA"<<'\n';
else
fout<<"NU"<<'\n';
}
}
return 0;
}