Pagini recente » Cod sursa (job #2584465) | Cod sursa (job #920030) | Cod sursa (job #1646103) | Cod sursa (job #1218930) | Cod sursa (job #2694229)
#include <stdio.h>
#include <bits/stdc++.h>
#define rep(i, n) for(int i = 0; i < (int)(n); i++)
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
typedef vector<int> vi;
const int INF = 0x3f3f3f3f;
ifstream fin ("disjoint.in");
ofstream fout ("disjoint.out");
const int Nmax = 100555;
int t[Nmax];
int root(int a) {
if (a == t[a]) { return a; }
return t[a] = root(t[a]);
}
void join(int a, int b) {
if (root(a) != root(b)) {
t[root(a)] = root(b);
}
}
int main(void) {
// freopen("disjoint.in", "r", stdin);
std::ios_base::sync_with_stdio(false);
std::cin.tie(NULL);
int n, m, a,b, op;
fin >> n >> m;
rep(i, n+1) { t[i] = i; }
rep(i,m) {
fin >> op >> a >> b;
if (op == 1) {
join(a, b);
} else {
fout << (root(a) == root(b) ? "DA" : "NU") << "\n";
}
}
return 0;
}