Pagini recente » Cod sursa (job #941335) | Cod sursa (job #1999039) | Cod sursa (job #686021) | Cod sursa (job #2144302) | Cod sursa (job #2562158)
#include <stdio.h>
#define N 100001
int parent[N];
int _find (int x) {
if (!parent[x])
return x;
return parent[x]=_find(parent[x]);
}
void _union (int x, int y) {
int p1=_find(x),
p2=_find(y);
if (p1!=p2)
parent[p2]=p1;
}
int main () {
freopen ("disjoint.in", "r", stdin);
freopen ("disjoint.out", "w", stdout);
int n, m, x, y;
scanf ("%d%d", &n, &m);
for (; m; m--) {
getchar();
switch (getchar()) {
case '1':
scanf ("%d%d", &x, &y);
_union(x, y);
break;
case '2':
scanf ("%d%d", &x, &y);
printf (_find(x)==_find(y)?"DA":"NU");
break;
}
}
return 0;
}