Cod sursa(job #667940)

Utilizator MultiHackRaul Iulian MultiHack Data 23 ianuarie 2012 22:19:47
Problema Paduri de multimi disjuncte Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include<fstream>
#include<vector>
using namespace std;
int n,m;
int tata[100001];
int afla_tata(int x)
{
	while(tata[x])
		x=tata[x];
	return x;
}
int main()
{
	ifstream fin("disjoint.in");
	ofstream fout("disjoint.out");
	fin>>n>>m;
	for(;m;--m)
	{
		int tip,x,y;
		fin>>tip>>x>>y;
		if(tip==1)
			tata[afla_tata(y)]=afla_tata(x);
		if(tip==2)
			if(afla_tata(x)==afla_tata(y))
				fout<<"DA\n";
			else
				fout<<"NU\n";
	}
}