Pagini recente » Cod sursa (job #903971) | Cod sursa (job #2956392) | Cod sursa (job #1138519) | Cod sursa (job #1433072) | Cod sursa (job #1795872)
#include<stdio.h>
#define MAXN 100001
int id[MAXN];
int v[MAXN];
int reprez(int x)
{
if(id[x]==x)
{
return x;
}
return id[x]=reprez(id[x]);
}
int main()
{
FILE*fin=fopen("disjoint.in","r");
FILE*fout=fopen("disjoint.out","w");
int N,M;
fscanf(fin,"%d%d",&N,&M);
for(int i=1; i<=N; i++)
{
v[i]=i;
id[v[i]]=v[i];
}
for(int i=1; i<=M; i++)
{
int cod,x,y;
fscanf(fin,"%d%d%d",&cod,&x,&y);
int boss1=reprez(x);
int boss2=reprez(y);
switch(cod)
{
case 1:
id[boss1]=boss2;
break;
case 2:
fprintf(fout,"%s\n",boss1==boss2?"DA":"NU");
break;
}
}
}