Pagini recente » Cod sursa (job #3216010) | Cod sursa (job #691133) | Cod sursa (job #1596693) | Cod sursa (job #1707206) | Cod sursa (job #2752957)
#include <bits/stdc++.h>
#define NMAX 100003
using namespace std;
int n,m;
int v[NMAX];
int Find(int nod){
int aux=nod;
while(v[aux]!=aux){
aux=v[aux];
}
// aux nodul parinte
while(nod!=aux){
v[nod]=v[aux];
nod=v[nod];
}
return aux;
}
void uneste(int x,int y){
v[Find(x)]=Find(y);
}
int main()
{
freopen("disjoint.in","r",stdin);
freopen("disjoint.out","w",stdout);
scanf("%d %d",&n,&m);
for(int i=1;i<=n;i++)
v[i]=i;
for(int i=1;i<=m;i++){
int type,x,y;
scanf("%d %d %d",&type,&x,&y);
if(type==1){
uneste(x,y);
}else{
if(Find(x)==Find(y))puts("DA");
else puts("NU");
}
}
return 0;
}