Pagini recente » Profil lazar_silviu | Atasamentele paginii 23 | Profil Malia | Istoria paginii utilizator/ionzlatan | Cod sursa (job #1776918)
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int m, n;
int tata[100001];
void init()
{
for (int i=1; i<=100000; i++)
tata[i] = i;
}
int radacina(int x)
{
while(tata[x]!=x)
x = tata[x];
return x;
}
void read()
{
int operatie, x, y;
scanf("%d %d\n", &n, &m);
for (int i=1; i<=m; i++)
{
scanf("%d %d %d\n", &operatie, &x, &y);
if (operatie == 1)
tata[y] = radacina(x);
else
{
if (radacina(x) == radacina(y))
printf("DA\n");
else
printf("NU\n");
}
}
}
int main()
{
freopen("disjoint.in", "r", stdin);
freopen("disjoint.out", "w", stdout);
init();
read();
return 0;
}