Pagini recente » Cod sursa (job #2451350) | Cod sursa (job #1591569) | Cod sursa (job #1781385) | Cod sursa (job #2078657) | Cod sursa (job #387591)
Cod sursa(job #387591)
#include<stdio.h>
#define N 100002
int x, y, z, yy, zz, tata[N], i, n, m, nr1, nr2;
int main(){
freopen("disjoint.in","r",stdin);
freopen("disjoint.out","w", stdout);
scanf("%d %d", &n, &m);
for (i = 1; i <= m; i++){
scanf("%d %d %d", &x, &y, &z);
if (x == 1){
for (yy = y, nr1 = 0; tata[yy] != 0; yy = tata[yy], nr1++);
for (zz = z, nr2 = 0; tata[zz] != 0; zz = tata[zz], nr2++);
if (yy != zz){
if (nr1 < nr2) tata[yy] = zz;
else tata[zz] = yy;
}
}
else{
for (yy = y; tata[yy] != 0; yy = tata[yy]);
for (zz = z; tata[zz] != 0; zz = tata[zz]);
if (yy == zz) printf("DA\n");
else printf("NU\n");
}
}
return 0;
}