Pagini recente » Cod sursa (job #340032) | Cod sursa (job #2745870) | Cod sursa (job #1109971) | Cod sursa (job #1929112) | Cod sursa (job #2473872)
#include<bits/stdc++.h>
#define maxn 100005
using namespace std;
ifstream fin("disjoint.in");
ofstream fout("disjoint.out");
int n,m,tata[maxn];
int tata_suprem(int nod)
{
int R=nod;
while(tata[R]!=0)
R=tata[R];
while(tata[nod]!=0)
{
int aux=tata[nod];
tata[nod]=R;
nod=aux;
}
return R;
}
void unim(int A,int B)
{
A=tata_suprem(A);
B=tata_suprem(B);
tata[A]=B;
}
int main()
{
fin>>n>>m;
for(int i=1;i<=m;i++)
{
int cod,x,y;;
fin>>cod>>x>>y;
if(cod==1)
{
unim(x,y);
}
else
{
if(tata_suprem(x)==tata_suprem(y))
fout<<"DA\n";
else
fout<<"NU\n";
}
}
return 0;
}