Pagini recente » Cod sursa (job #928070) | Cod sursa (job #1965653) | Cod sursa (job #2411888) | Cod sursa (job #2846423) | Cod sursa (job #1011116)
#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[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;
}