Pagini recente » Cod sursa (job #918986) | Cod sursa (job #642353) | Cod sursa (job #2919447) | Cod sursa (job #844195) | Cod sursa (job #735018)
Cod sursa(job #735018)
#include <stdio.h>
#define MAX 100001
int rad[MAX],n,m;
int tata(int x){
while(x!=rad[x])x=rad[x];
return x;
}
void update(int x){
if(x!=rad[x])update(rad[x]); else
return;
rad[x]=rad[rad[x]];
}
int main(){
int c,x,y;
freopen("disjoint.in","r",stdin);
freopen("disjoint.out","w",stdout);
scanf("%d %d",&n,&m);
for(int i=1;i<=n;i++)rad[i]=i;
for(int i=1;i<=m;i++){
scanf("%d %d %d",&c,&x,&y);
switch(c){
case 1: rad[tata(x)]=tata(y); break;
case 2:
if(tata(x)==tata(y))printf("DA\n"); else printf("NU\n");
update(x);
update(y);
break;
}
}
}