Pagini recente » Cod sursa (job #762728) | Cod sursa (job #3261843) | Cod sursa (job #2951) | Cod sursa (job #3200401) | 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;
}