Pagini recente » Cod sursa (job #3121894) | Cod sursa (job #3244103) | Cod sursa (job #711642) | Cod sursa (job #682406) | Cod sursa (job #1500908)
#include <algorithm>
#include <stdio.h>
#include <fstream>
#include <iostream>
#define MAX_N 100010
using namespace std;
int father[MAX_N];
int root(int node) {
if (father[node] != node)
father[node] = root(father[node]);
return father[node];
}
int main() {
ifstream cin("disjoint.in");
freopen("disjoint.out", "w", stdout);
int n, m;
cin >> n >> m;
for (int i = 1; i <= n; i++)
father[i] = i;
for (int i = 0; i < m; i++) {
int opType, x, y;
cin >> opType >> x >> y;
if (opType == 1) {
father[root(x)] = root(y);
}
else printf("%s\n", (root(x) == root(y))? "DA" : "NU");
}
return 0;
}