Pagini recente » Cod sursa (job #1564846) | Cod sursa (job #1374025) | Cod sursa (job #475974) | Cod sursa (job #1109570) | Cod sursa (job #709738)
Cod sursa(job #709738)
#include<cstdio>
#include<vector>
#define nmax 100001
using namespace std;
int n,m,cod,x,y,dad[nmax];
vector<int> ch[nmax];
int main()
{
int i,min,max;
vector<int>::iterator it;
freopen("disjoint.in","r",stdin);
freopen("disjoint.out","w",stdout);
scanf("%d%d", &n, &m);
for(i=1;i<=n;i++)
{
dad[i]=i;
ch[i].push_back(i);
}
for(i=1;i<=m;i++)
{
scanf("%d%d%d", &cod, &x, &y);
if(cod==1)
{
if(dad[x]<dad[y])
{
min=dad[x];
max=dad[y];
}
else
{
min=dad[y];
max=dad[x];
}
for(it=ch[max].begin();it!=ch[max].end();it++)
{
dad[*it]=min;
ch[min].push_back(*it);
}
}
else
if(dad[x]==dad[y])
printf("DA\n");
else
printf("NU\n");
}
return 0;
}