Pagini recente » Cod sursa (job #1280115) | Atasamentele paginii Alternativele la Borland | Cod sursa (job #1823950) | Cod sursa (job #1220830) | Cod sursa (job #1817344)
#include <bits/stdc++.h>
using namespace std;
int Link[1000000];
int Find(int a) {
while(Link[a]) a = Link[a];
return a;
}
void Union(int a, int b) {
a = Find(a);
b = Find(b);
if(a != b) {
if(rand() % 2) Link[a] = b;
else Link[b] = a;
}
}
int main() {
freopen("disjoint.in", "r", stdin);
freopen("disjoint.out", "w", stdout);
srand(time(0));
int n, m;
cin >> n >> m;
while(m--) {
int op, a, b;
cin >> op >> a >> b;
if(op == 1) {
Union(a, b);
} else {
cout << ((Find(a) == Find(b)) ? "DA\n" : "NU\n");
}
}
return 0;
}