Cod sursa(job #600426)

Utilizator paul_gabryelPaul Buda paul_gabryel Data 1 iulie 2011 17:28:36
Problema Paduri de multimi disjuncte Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.4 kb

#include <cstdio>
#include <fstream>

using namespace std;

int d[131072];

int find (int x){
	
	if(d[x])
		return d[x];
	
	return x;}

int main ()
{
	
	int n,m,x,y,t,a,b;
	ifstream f ("disjoint.in");
	freopen ("disjoint.out","w",stdout);
	for(f>>n>>m;m;--m){
		f>>t>>x>>y;
		a=find(x);
		b=find(y);
		if(t==1)
			d[a]=b;
		else
			if(a==b)
				printf("DA\n");
			else
				printf("NU\n");
		}
	
	return 0;}