Pagini recente » Cod sursa (job #1752570) | Cod sursa (job #2982672) | Cod sursa (job #1958063) | Cod sursa (job #587133) | Cod sursa (job #285153)
Cod sursa(job #285153)
#include<stdio.h>
#define Nmax 100002
int i,j,k,l,m,n,tip[Nmax],ant[Nmax],ult[Nmax];
void merge(int a,int b){
ant[ult[a]]=b;
ult[a]=ult[b];
int i;
i=b;
do
{tip[i]=a;
i=ant[i];
}
while(i);
}
int main(){
freopen("disjoint.in","r",stdin);
freopen("disjoint.out","w",stdout);
scanf("%d %d",&n,&m);
for(i=1;i<=n;i++)
{tip[i]=i;
ult[i]=i;
}
for(i=1;i<=m;i++)
{scanf("%d %d %d",&j,&k,&l);
if(j==2)
{if(tip[k]==tip[l])printf("%s\n","DA");
else
printf("%s\n","NU");
}
else
merge(k,l);
}
return 0;}