Cod sursa(job #902954)

Utilizator radu_bucurRadu Bucur radu_bucur Data 1 martie 2013 17:39:44
Problema Paduri de multimi disjuncte Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include <fstream>
using namespace std;
ifstream in("disjoint.in");
ofstream out("disjoint.out");
int a[100000],e,f,i,l,x,y,h,n,m;
int tata(int c)
{
	if(c==a[c]) return c;
	return tata(a[c]);
}
int main()
{
	in>>n>>m;
	for(i=1;i<=n;i++) a[i]=i;
	for(l=1;l<=m;l++)
	{
		in>>h>>x>>y;
		e=tata(x);
		f=tata(y);
		if(h==1&&e!=f) a[e]=f;
		if(h==2)
		{
			if(e==f) out<<"DA\n";
			else out<<"NU\n";
		}
	}
	return 0;
}