Cod sursa(job #703974)

Utilizator siminescuPaval Cristi Onisim siminescu Data 2 martie 2012 15:44:45
Problema Paduri de multimi disjuncte Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include<fstream>
using namespace std;

ifstream f("disjoint.in");
ofstream g("disjoint.out");

# define nmax 100002

int T[nmax],N,M;

void f1(int i, int j)
{
	while(T[i]) i=T[i];
	while(T[j]) j=T[j];
	T[j]=i;
}
void f2(int i, int j)
{
	while(T[i]) i=T[i];
	while(T[j]) j=T[j];
	if(i==j) g<<"DA\n";
	else g<<"NU\n";
}
int main()
{
	f>>N>>M;
	int cod,x,y;
	for(;M;--M)
	{
		f>>cod>>x>>y;
		if(cod==1) f1(x,y);
		if(cod==2) f2(x,y);
	}
	return 0;
}