Pagini recente » Cod sursa (job #388055) | Cod sursa (job #1185667) | Cod sursa (job #1471794) | Cod sursa (job #2028766) | Cod sursa (job #1701435)
#include <stdio.h>
#include <iostream>
int father[100000];
int N, K;
void unite(int i, int j) {
father[i] = j;
}
int find(int node) {
if(node == father[node])
return node;
return find(father[node]);
}
int main() {
freopen("disjoint.in", "r", stdin);
freopen("disjoint.out", "w", stdout);
int i, comm, arg1, arg2;
int father_arg1, father_arg2;
scanf("%d %d ", &N, &K);
for(i = 1; i <= N; ++i)
father[i] = i;
for (i = 1; i <= K; ++i) {
scanf("%d %d %d", &comm, &arg1, &arg2);
father_arg1 = find(arg1);
father_arg2 = find(arg2);
if(comm == 2) {
if (father_arg1 == father_arg2)
printf("DA\n");
else
printf("NU\n");
}
else
unite(father_arg1, father_arg2);
}
return 0;
}