Pagini recente » Cod sursa (job #1788515) | Cod sursa (job #155122) | Cod sursa (job #2189937) | Cod sursa (job #2911172) | Cod sursa (job #562850)
Cod sursa(job #562850)
#include <stdio.h>
#define Dim 100001
int T[Dim],rang[Dim];
int tata(int nod)
{
if(nod!=T[nod]) T[nod]=tata(T[nod]);
return T[nod];
}
int main()
{
int M,N,x,y,i,cod;
freopen("disjoint.in","r",stdin);
scanf("%d%d",&N,&M);
freopen("disjoint.out","w",stdout);
for(i=1;i<=N;i++) T[i]=i;
for(i=1;i<=N;i++) rang[i]=0;
for(i=1;i<=M;i++)
{
scanf("%d%d%d",&cod,&x,&y);
x=tata(x);
y=tata(y);
if(cod==1)
{
if(rang[x]<rang[y]) T[y]=x, rang[y]++;
else T[x]=y, rang[x]++;
}
else x==y ? printf("DA\n") : printf("NU\n");
}
return 0;
}