Pagini recente » Cod sursa (job #1787324) | Cod sursa (job #1790122) | Cod sursa (job #2624131) | Cod sursa (job #1877460) | Cod sursa (job #1199660)
#include <cstdio>
#define SIZE 100005
int N, M;
int parent[SIZE];
int find(int x){
while (parent[x]!=x){
x = parent[x];
}
return x;
}
void merge(int x, int y){
parent[find(x)] = find(y);
}
int main()
{
freopen("disjoint.in", "r", stdin);
freopen("disjoint.out", "w", stdout);
scanf("%d%d", &N, &M);
for (int i=1; i<=N; ++i){
parent[i] = i;
}
for (int i=1; i<=M; ++i){
int op, x, y;
scanf("%d%d%d", &op, &x, &y);
switch (op){
case 1:
merge(x, y);
break;
case 2:
printf("%s\n", find(x)==find(y) ? "DA" : "NU");
}
}
return 0;
}