Pagini recente » Cod sursa (job #1902586) | Cod sursa (job #1913356) | Cod sursa (job #574596) | Cod sursa (job #717934) | Cod sursa (job #1913228)
#include <bits/stdc++.h>
#define Nmax 100005
using namespace std;
ifstream fin("disjoint.in");
ofstream fout("disjoint.out");
int N, t[Nmax];
inline void Union(int x, int y) {
t[y] = x;
}
inline int Find(int x) {
int y, rad;
rad = x;
while(t[rad]) {
rad = t[rad];
}
while(t[x]) {
y = t[x];
t[x] = rad;
x = y;
}
return rad;
}
inline void Solve() {
int x, y, Q, op;
fin >> N >> Q;
while(Q--) {
fin >> op >> x >> y;
x = Find(x);
y = Find(y);
if(op == 1) {
if(x != y) {
Union(x, y);
}
}
else
{
if(x == y) {
fout << "DA\n";
}
else {
fout << "NU\n";
}
}
}
}
int main() {
Solve();
return 0;
}