Pagini recente » Cod sursa (job #2223645) | Cod sursa (job #1229890) | Profil VladAlexandru | Cod sursa (job #1683790) | Cod sursa (job #532644)
Cod sursa(job #532644)
#include <cstdio>
using namespace std;
int n, m;
int tata[100001];
int rad(int);
int main() {
freopen("disjoint.in", "r", stdin);
freopen("disjoint.out", "w", stdout);
scanf("%d %d", &n, &m);
int tip, x, y;
for (int i = 1; i <= n; i++)
tata[i] = i;
for (int i = 1; i <= m; i++) {
scanf("%d %d %d", &tip, &x, &y);
if (tip == 1) {
if (rad(x) != rad(y))
tata[rad(x)] = tata[rad(y)];
} else {
if (rad(x) == rad(y))
printf("DA\n");
else
printf("NU\n");
}
}
return 0;
}
int rad(int x) {
int L = x;
while (tata[L] != L)
L = tata[L];
while (tata[x] != x) {
int aux = tata[x];
tata[x] = L;
x = aux;
}
return L;
}