Pagini recente » Monitorul de evaluare | Monitorul de evaluare | Cod sursa (job #1330583) | Istoria paginii runda/pregatire_oji_ms_clasax/clasament | Cod sursa (job #673606)
Cod sursa(job #673606)
#include<stdio.h>
#define Nmax 100009
int x,y,type,n,t,i,T[Nmax],R[Nmax];
int tata(int x)
{
if (x==T[x]) return x;
return (tata(T[x]));
}
int main()
{
freopen("disjoint.in","r",stdin);
freopen("disjoint.out","w",stdout);
scanf("%d%d",&n,&t);
for (i=1;i<=n;i++)
{
T[i]=i;
R[i]=1;
}
for (i=1;i<=t;i++)
{
scanf("%d%d%d",&type,&x,&y);
if (type==1)
{
x=tata(x);
y=tata(y);
if (R[x]>R[y]) T[y]=x;
else T[x]=y;
if (R[x]==R[y]) R[y]++;
}
else if(tata(x)==tata(y)) printf("DA\n");
else printf("NU\n");
}
}