Pagini recente » Cod sursa (job #2888285) | Cod sursa (job #1764360) | Cod sursa (job #3122875) | Cod sursa (job #2858135) | Cod sursa (job #405025)
Cod sursa(job #405025)
#include<stdio.h>
#include<vector>
using namespace std;
int v[100001],card[100001],n;
void modifica(int x,int y)
{ int i,multimea1,multimea2,cardnou;
multimea1=v[x];
multimea2=v[y];
cardnou=card[x]+card[y];
if(card[x]<card[y]);
for(i=1;i<=n;i++)
if(v[i]==multimea1)
{v[i]=multimea2;
card[i]=cardnou;}
else
for(i=1;i<=n;i++)
if(v[i]==multimea2)
{ v[i]=multimea1;
card[i]=cardnou;}
card[x]=card[y]=cardnou;
}
int main()
{ int i,m,x,y,op;
freopen("disjoint.in","r",stdin);
freopen("disjoint.out","w",stdout);
scanf("%d%d",&n,&m);
for(i=1;i<=n;i++)
{
v[i]=i;
card[i]=1;
}
for(i=1;i<=m;i++)
{
scanf("%d%d%d",&op,&x,&y);
if(op==1)
modifica(x,y);
else
{ if(v[x]==v[y])
printf("DA\n");
else
printf("NU\n");
}
}
return 0;
}