Cod sursa(job #1897285)

Utilizator BogdanNeghinaNeghina Bogdan BogdanNeghina Data 1 martie 2017 12:13:24
Problema Paduri de multimi disjuncte Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <fstream>
using namespace std;
ifstream cin("disjoint.in");
ofstream cout("disjoint.out");
int m,n,tata[100001];
int radacina (int x)
{
	while(tata[x]!=0)
		x=tata[x];
	return x;
}
int main()
{
	int r1,r2;
	int o,x,y;
    cin>>n>>m;
    for(int i=1;i<=m;i++)
	{
		cin>>o>>x>>y;
		if(o==1)
		{
			r1=radacina(x);
			r2=radacina(y);
			tata[r1]=r2;
		}
		if(o==2)
		{
			r1=radacina(x);
			r2=radacina(y);
			if(r1==r2)
				cout<<"DA\n";
			else
				cout<<"NU\n";
		}
	}
    return 0;
}