Pagini recente » Cod sursa (job #2461537) | Cod sursa (job #379172) | Cod sursa (job #719363) | Cod sursa (job #523341) | Cod sursa (job #1011125)
#include <cstdio>
const int M = 100001;
struct quest
{
int t, x, y;
};
quest q[M + 1];
int t[M + 1];
int n, m;
void init ()
{
int i;
freopen ("disjoint.in", "r", stdin);
freopen ("disjoint.out", "w", stdout);
scanf ("%d %d", &n, &m);
for (i = 1; i <= m; i ++)
scanf ("%d %d %d ", &q[i].t, &q[i].x, &q[i].y);
}
int radacina (int x)
{
if (t[x] == 0)
return x;
t[x] = radacina (t[x]);
return t[x];
}
void solve_afis ()
{
int i;
for (i = 1; i <= m; i ++)
if (q[i].t == 1)
t[radacina(q[i].x)] = q[i].y;
else
if (radacina (q[i].x) == radacina (q[i].y))
printf ("DA\n");
else
printf ("NU\n");
}
int main ()
{
init ();
solve_afis ();
return 0;
}