Cod sursa(job #562647)

Utilizator ZethpixZethpix Zethpix Data 23 martie 2011 17:05:26
Problema Paduri de multimi disjuncte Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include <stdio.h>
#include <string.h>

#define Dim 100001

int T[Dim];

int main()
{
	int N,M,i,cod,x,y;

	freopen("disjoint.in","r",stdin);

	scanf("%d%d",&N,&M);

	freopen("disjoint.out","w",stdout);

	for(i=1;i<=N;i++) T[i]=i;

	for(i=1;i<=M;i++)
	{
		scanf("%d%d%d",&cod,&x,&y);
		while(T[x]!=T[T[x]]) T[x]=T[T[x]];
		while(T[y]!=T[T[y]]) T[y]=T[T[y]];
		if(cod==1) T[T[x]]=T[y];
		else
		if(T[x]==T[y]) printf("DA\n");
		else printf("NU\n");
	}

	return 0;
}