Pagini recente » Cod sursa (job #2081844) | Cod sursa (job #2009918) | Cod sursa (job #406475) | Cod sursa (job #1263129) | Cod sursa (job #433542)
Cod sursa(job #433542)
#include <stdio.h>
#define nmax 10004
FILE *f=fopen("disjoint.in","r");
FILE *g=fopen("disjoint.out","w");
int n,m;
int tata[nmax];
int p(int nod)
{
int r;
for(r=nod;tata[r]!=r;r=tata[r]);
while(nod!=tata[nod])
{
nod=tata[nod];
tata[nod]=r;
}
return r;
}
int main()
{
fscanf(f,"%d %d",&n,&m);
int i,x,y,ok;
for(i=1;i<=n;i++)
tata[i]=i;
for(i=1;i<=m;i++)
{
fscanf(f,"%d %d %d",&ok,&x,&y);
if(ok==1)
tata[p(x)]=p(y);
else if(p(x)==p(y))
fprintf(g,"DA\n");
else
fprintf(g,"NU\n");
}
return 0;
}