Pagini recente » Cod sursa (job #817398) | Cod sursa (job #103186) | Cod sursa (job #3247670) | Cod sursa (job #737668) | Cod sursa (job #295542)
Cod sursa(job #295542)
#include <stdio.h>
int t[100005],F;
void down(int x){
if (t[x]==x){F=x;return;}
down(t[x]);
t[x]=F;
}
void join(int x,int y){
down(x);down(y);t[t[y]]=t[x];
}
void check(int x,int y){
down(x);down(y);
if((t[x]==t[y]))printf("DA\n");else printf("NU\n");
}
int main(){
freopen("disjoint.in","r",stdin);
freopen("disjoint.out","w",stdout);
int N,M,T,x,y,i;
scanf("%d %d",&N,&M);
//preprocesare
for (i=1;i<=N;++i)t[i]=i;
//
for (; M; --M){
scanf("%d %d %d",&T,&x,&y);
if (T==1)join(x,y);
else check(x,y);
}
return 0;
}