Pagini recente » Cod sursa (job #1994290) | Cod sursa (job #2483162) | Cod sursa (job #1665299) | Cod sursa (job #1118317) | Cod sursa (job #1333727)
#include <iostream>
#include <cstdio>
#include <algorithm>
#define NMAX 100005
using namespace std;
int n, m;
int a[NMAX], prev[NMAX];
char rasp[][3]={"NU", "DA"};
int par(int x)
{
if (a[x] == x)
return x;
int aux = par(a[x]);
return aux;
}
void unire(int x, int y)
{
a[par(x)] = par(y);
}
int check(int x, int y)
{
return par(x) == par(y);
}
int main()
{
freopen("disjoint.in", "r", stdin);
freopen("disjoint.out", "w", stdout);
int o, x, y;
scanf("%d %d\n", &n, &m);
for (int i=1; i<=n; i++)
a[i] = i;
for (int i=0; i<m; i++){
scanf("%d %d %d\n", &o, &x, &y);
if (o==2){
printf("%s\n", rasp[check(x, y)]);
}
else{
unire(x, y);
}
}
return 0;
}