Pagini recente » Cod sursa (job #2480513) | Cod sursa (job #2261754) | Cod sursa (job #1107376) | Cod sursa (job #720920) | Cod sursa (job #1626462)
#include <cstdio>
#define NMAX 100005
using namespace std;
FILE *f = freopen("disjoint.in", "r", stdin);
FILE *g = freopen("disjoint.out", "w", stdout);
int N, M;
int Father[NMAX];
int find_(int x)
{
int rad;
rad = x;
while(rad != Father[rad])
rad = Father[rad];
return rad;
}
void unite_(int x, int y)
{
Father[find_(x)] = find_(y);
}
int main()
{
scanf("%d%d", &N, &M);
for(int i = 1; i<=N; i++) Father[i] = i;
int op, x, y;
while(M)
{
M--;
scanf("%d%d%d", &op, &x, &y);
if(op == 2) {
if(find_(x) == find_(y)) printf("DA\n");
else printf("NU\n");
}
else {
unite_(x, y);
}
}
return 0;
}