Pagini recente » Arhiva de probleme | Profil maritim | Profil DiClau | Cod sursa (job #2376554) | Cod sursa (job #228760)
Cod sursa(job #228760)
#include <stdio.h>
#include <algorithm>
#define mx 100010
using namespace std;
int n, m, caz, x, y;
int t[mx];
int rad(int x)
{
int f_rez;
if (t[x] == x)
f_rez = x;
else f_rez = rad(t[x]);
t[x] = f_rez;
return f_rez;
}
int main()
{
freopen("disjoint.in","r",stdin);
freopen("disjoint.out","w",stdout);
scanf("%ld %ld", &n, &m);
for (int i = 1; i <= n; t[i] = i, i++);
for (; m; m--)
{
scanf("%ld %ld %ld", &caz, &x, &y);
if (caz - 1)
if (rad(x) == rad(y))
printf("DA\n");
else printf("NU\n");
else t[rad(y)] = rad(x);
}
fclose(stdin);
fclose(stdout);
return 0;
}