Pagini recente » Cod sursa (job #847870) | Cod sursa (job #1147174) | Cod sursa (job #1501779) | Cod sursa (job #2368392) | Cod sursa (job #2690782)
#include <bits/stdc++.h>
using namespace std;
int dad[100001];
int N, M, x, y, op;
void Files(){
freopen("disjoint.in", "r", stdin);
freopen("disjoint.out", "w", stdout);
}
int Find(int x){
if(dad[x] == x) return x;
return Find(dad[x]);
}
void Merge(int x, int y){
x = Find(x), y = Find(y);
if(x != y) dad[y] = x;
}
int main(){
Files();
scanf("%d%d", &N, &M);
for(int i = 1;i <= N;i++)
dad[i] = i;
while(M--){
scanf("%d%d%d", &op, &x, &y);
if(op == 1) Merge(x, y);
if(op == 2) printf((Find(x) == Find(y))? "DA\n" : "NU\n");
}
}