Cod sursa(job #729413)

Utilizator OwnedCheciches Marius Owned Data 29 martie 2012 16:14:36
Problema Paduri de multimi disjuncte Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.41 kb
#include <fstream>
using namespace std;

#define maxn 100001
int t[maxn],n;

int root(int k){
	while(t[k])
		k=t[k];
	return k;}

int main(){
	ifstream f("disjoint.in");
	ofstream g("disjoint.out");
	int i,m,o,x,y;
	f>>n>>m;
	for(i=1;i<=m;i++){
		f>>o>>x>>y;
		if(o==2)
			if(root(x)==root(y))
				g<<"DA\n";
			else g<<"NU\n";
		if(o==1)
			t[root(y)]=x;}
	f.close();
	g.close();
	return 0;}