Pagini recente » Borderou de evaluare (job #85407) | Borderou de evaluare (job #1241850) | Autentificare | Cod sursa (job #862217) | Cod sursa (job #624306)
Cod sursa(job #624306)
#include <cstdio>
#define N 100003
using namespace std;
int n, m, a, x, y, tata[N];
int reunim(int nod)
{
if (tata[nod] == nod)
return nod;
return tata[nod] = reunim (tata[nod]);
}
void pune()
{
for (int i = 1; i <= n; ++ i)
tata[i] = i;
}
int main()
{
freopen ("disjoint.in", "r", stdin);
freopen ("disjoint.out", "w", stdout);
scanf ("%d %d ", &n, &m);
pune();
for (int i = 1; i <= m; ++ i)
{
scanf ("%d %d %d ", &a, &x, &y);
if (a == 1)
tata[reunim (y)] = reunim (x);
else
{
if (reunim (x) == reunim (y))
printf ("DA\n");
else
printf ("NU\n");
}
}
return 0;
}