Pagini recente » Cod sursa (job #825857) | Cod sursa (job #1254045) | Cod sursa (job #3176545) | Cod sursa (job #1405917) | Cod sursa (job #2473874)
#include<bits/stdc++.h>
using namespace std;
ifstream fin("disjoint.in");
ofstream fout("disjoint.out");
int tata[100001],n,m;
int daddy(int x)
{
int R=x;
while(R!=tata[R])
{
R=tata[R];
}
while(x!=tata[x])
{
int aux=tata[x];
tata[x]=R;
x=aux;
}
}
void merget(int a,int b)
{
a=daddy(a);
b=daddy(b);
tata[a]=tata[b];
}
int main()
{
int x,y,C;
fin>>n>>m;
for(int i=1;i<=n;i++)
tata[i]=i;
for(int i=1;i<=m;i++)
{
fin>>C>>x>>y;
if(C==1)
{
merget(x,y);
}
else
{
if(daddy(x)==daddy(y))
fout<<"DA"<<'\n';
else
fout<<"NU"<<'\n';
}
}
}