Cod sursa(job #361913)

Utilizator EugenStoicaEugen Stoica EugenStoica Data 7 noiembrie 2009 10:22:13
Problema Paduri de multimi disjuncte Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include<stdio.h>
#define NM 100001

int main()
{
int n,m,s[NM],x,y,c,i,sx,sy;
freopen("disjoint.in","r",stdin);
freopen("disjoint.out","w",stdout);
scanf("%d%d",&n,&m);
for(i=1;i<=n;i++) s[i]=i;
while(m--)
	{
	scanf("%d%d%d",&c,&x,&y);
	sx=s[x];
	sy=s[y];
	if(c==1)
		{
		if(sx>sy)
			{
			for(i=1;i<=n;i++)
				if(s[i]==sx) s[i]=sy;
			}
		else
			{
			for(i=1;i<=n;i++)
				if(s[i]==sy) s[i]=sx;
			}
		}
	else
		{
		if(sx==sy)printf("DA\n");
		else printf("NU\n");
		}
	}
return 0;
}