Cod sursa(job #667931)

Utilizator MultiHackRaul Iulian MultiHack Data 23 ianuarie 2012 22:12:47
Problema Paduri de multimi disjuncte Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 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[y]=x;
		if(tip==2)
			if(afla_tata(x)==afla_tata(y))
				fout<<"DA\n";
			else
				fout<<"NU\n";
	}
}