Pagini recente » Cod sursa (job #975346) | Cod sursa (job #2451088) | Cod sursa (job #550665) | Cod sursa (job #2093435) | Cod sursa (job #3233169)
#include <bits/stdc++.h>
#define ll long long
#define pb push_back
using namespace std;
int n,m;
int dad[100000];
int rg[100000];
void uniune(int a, int b){
if(rg[a] > rg[b]){
dad[b] = a;
}
else{
dad[a] = b;
if(rg[b] == rg[a]) rg[b]++;
}
}
int tata(int nod){
while(dad[nod] != nod) nod = dad[nod];
return nod;
}
int main()
{
cin >> n >> m;
for(int i = 0;i<n;i++) {
dad[i] = i;
rg[i] = 0;
}
while(m--){
int q;
cin >> q;
int a,b;
cin >> a >> b;
int x = tata(a);
int y = tata(b);
if(q == 1){
uniune(x,y);
}
else{
if(x == y) cout << "DA\n";
else cout<<"NU\n";
}
}
return 0;
}