Pagini recente » Cod sursa (job #1286475) | Cod sursa (job #1740744) | Cod sursa (job #2034156) | Cod sursa (job #1791006) | Cod sursa (job #532643)
Cod sursa(job #532643)
#include <cstdio>
using namespace std;
int n, m, tata[100001];
int rad(int x)
{
int L = x;
while(tata[L] != L)
L = tata[L];
while(tata[x] != x)
{
int aux = tata[x];
tata[x] = L;
x = aux;
}
return L;
}
int main()
{
freopen("disjoint.in","r",stdin);
freopen("disjoint.out","w",stdout);
scanf("%d%d",&n,&m);
int tip,x,y;
for(int i = 1; i <= n; ++i)
tata[i] = i;
for(int i = 1; i <= m; ++i)
{
scanf("%d %d %d", &tip, &x, &y);
if( tip == 1)
if( rad(x) != rad(y))
tata[rad(x)] = tata[rad(y)];
if(tip == 2)
if(rad(x) == rad(y))
printf("DA\n");
else printf("NU\n");
}
return 0;
}