Pagini recente » Cod sursa (job #699393) | Cod sursa (job #220909) | Cod sursa (job #316534) | Cod sursa (job #629987) | Cod sursa (job #846401)
Cod sursa(job #846401)
#include <stdio.h>
#include <algorithm>
#include <cmath>
#include <cctype>
#include <cstring>
#include <vector>
using namespace std;
#define Max 100001
int rad[Max];
int tata(int x)
{
if(x!=rad[x])rad[x]=tata(rad[x]);
return rad[x];
}
int main()
{
int n,m,op,x,y;
freopen("disjoint.in","r",stdin);
freopen("disjoint.out","w",stdout);
scanf("%d %d",&n,&m);
for(int i=1;i<=n;i++)rad[i]=i;
for(int i=1;i<=m;i++)
{
scanf("%d %d %d",&op,&x,&y);
switch(op)
{
case 1: rad[tata(y)]=tata(x); break;
case 2: printf("%s\n",tata(x)==tata(y)?"DA":"NU");
}
}
return 0;
}