Pagini recente » Cod sursa (job #1476870) | Cod sursa (job #263483) | Cod sursa (job #2214337) | Cod sursa (job #425775) | Cod sursa (job #1136026)
#include <cstdio>
#define Nmax 100005
using namespace std;
int daddy[Nmax];
int whos_ur_daddy(int k)
{
if(daddy[k] != k)
daddy[k] = whos_ur_daddy(daddy[k]);
return daddy[k];
}
void couple(int a,int b)
{
daddy[daddy[a]] = daddy[b];
}
int main()
{
freopen("disjoint.in","r",stdin);
freopen("disjoint.out","w",stdout);
int N,M,tip,a,b;
scanf("%d%d",&N,&M);
for(int i = 1; i <= N; ++i) daddy[ i ] = i;
for(int i = 1; i <= M; ++i)
{
scanf("%d%d%d",&tip,&a,&b);
if(tip == 1)
{
whos_ur_daddy(a);
whos_ur_daddy(b);
couple(a,b);
}
else
{
printf("%s",whos_ur_daddy(a) == whos_ur_daddy(b)?"DA\n":"NU\n");
}
}
return 0;
}